S SCHEMA.BIZ
Content Extends: CreativeWork

HowTo Schema Markup

HowTo markup describes step-by-step instructions: the steps, tools and supplies, time, and cost. It's still valid schema.org markup, but Google removed How-to rich results in 2023, so it no longer changes how a page appears in Google Search.

Google Search Features

  • Review snippet Star ratings and a review excerpt for the reviewed item. Local businesses and organizations: only reviews of other businesses, not reviews they collect about themselves.
  • Subscription and paywalled content Tells Google which content is behind a paywall, so it isn't treated as cloaking.
  • How-to — Retired (since September 13, 2023) Google no longer shows this rich result. HowTo is still a valid schema.org type; the markup does no harm but earns no rich result.

When to Use HowTo

DIY tutorials Repair guides Craft instructions Setup guides Maintenance procedures

Properties

Property Type Status Description
name Text required What this how-to teaches.
step HowToStep required The steps to complete the task.
description Text recommended Brief summary of the how-to.
image URL recommended Image representing the completed task.
totalTime Duration recommended Total time in ISO 8601 format.
estimatedCost MonetaryAmount optional Estimated cost to complete.
supply HowToSupply optional Materials needed.
tool HowToTool optional Tools required.

JSON-LD Examples

DIY Project

How to change a flat tire with steps, tools, and supplies.

{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "How to Change a Flat Tire",
  "description": "Learn to safely change a flat tire in 15 minutes.",
  "totalTime": "PT15M",
  "estimatedCost": {
    "@type": "MonetaryAmount",
    "currency": "USD",
    "value": "0"
  },
  "supply": [
    {
      "@type": "HowToSupply",
      "name": "Spare tire"
    }
  ],
  "tool": [
    {
      "@type": "HowToTool",
      "name": "Lug wrench"
    },
    {
      "@type": "HowToTool",
      "name": "Car jack"
    }
  ],
  "step": [
    {
      "@type": "HowToStep",
      "name": "Pull over safely",
      "text": "Pull over to a flat, stable surface away from traffic."
    },
    {
      "@type": "HowToStep",
      "name": "Loosen lug nuts",
      "text": "Using the lug wrench, loosen each nut a quarter turn."
    },
    {
      "@type": "HowToStep",
      "name": "Jack up the car",
      "text": "Place the jack under the frame and raise until the tire is off the ground."
    }
  ]
}

Common Mistakes

Using a Recipe type for non-food how-tos — HowTo is the correct type for general instructions.

Putting all the steps in one text block instead of one HowToStep object per step.

Complete Guide to HowTo Schema Markup

HowTo schema markup describes step-by-step instructions. Google used to show the steps of a how-to directly in search results, but it removed How-to rich results in 2023 on both desktop and mobile. The markup is still valid schema.org; it just no longer produces a rich result in Google Search.

If you use it, make each step a separate HowToStep object with at least a text property describing what to do, and add a name and image for each step where it helps.

Related Types

Ready to Create HowTo Markup?

Use our free generator to create valid HowTo JSON-LD markup with a visual form. No coding required.

Open Generator