HowTo Schema Generator

Build valid HowTo JSON-LD with supplies, tools, costs and the ISO 8601 durations written for you, read the steps straight off a live page, and get told honestly when Recipe or TechArticle would serve you better.

Read this before you start

Google limited HowTo rich results to desktop in August 2023 and retired them completely later the same year. There has been no HowTo rich result on desktop or mobile since. The step carousel that other generators still show you in their examples has not existed for three years.

HowTo is still valid schema.org and is still read by AI answer engines, assistants and search engines other than Google. If your page is a recipe, use Recipe instead: that one still produces a live rich result. The tool will say so if it spots one.

Your instructions

Write them, or let us find them
How long does it take?
hours minutes

What does it cost? (optional)

A three letter code: GBP, USD, EUR.

Supplies

What gets used up.

Tools

What you keep afterwards.

The steps

Start with the bad news, again

If you are here to add HowTo markup so your result gets the step-by-step carousel, that carousel is gone and has been for three years. Google limited HowTo rich results to desktop in August 2023 and retired them completely later the same year. There is no HowTo rich result on desktop or mobile in 2026, and there has not been one for a long time.

This went almost unnoticed next to the FAQ announcement, which is why generators are still illustrating themselves with a screenshot of a feature that stopped existing before most of their users found them.

What to use instead, which is the useful question

HowTo is the wrong type for a surprising number of the pages it gets put on, and two of the alternatives still produce live rich results. This tool reads your steps and tells you when one of them fits:

  • Recipe, if the page is food. Recipe results are among the richest Google still shows: the photograph, the star rating, the cooking time and the calorie count. Of everything in this family, Recipe is the one still worth real effort.
  • TechArticle, if the page is developer documentation. It sits inside the Article family and is a closer description of what you have.
  • Article or BlogPosting, for anything else. Clean H2 headings on a well-written page is what wins a featured snippet, and no amount of markup substitutes for that.

If none of those fit and your page really is a sequence of steps, HowTo is still accurate and still read by things other than Google. That is the honest case for it.

Why PT1H30M, and why everybody gets it wrong

The totalTime property has to be an ISO 8601 duration, a format that is unforgiving and nothing like how anyone writes time:

  • P opens the duration. It stands for “period” and is always there.
  • T has to appear before any unit smaller than a day. This is the part people miss.
  • The units are H, M and S.

So ninety minutes is PT1H30M. Forty-five minutes is PT45M. Two and a half hours is PT2H30M. A day and a half is P1DT12H. What is wrong is P1H30M, missing its T; PT90, missing its unit; and 1:30, which is not a duration at all.

This is the most common error in hand-written HowTo markup by a distance, so the tool asks for hours and minutes, writes the duration, and shows you what it produced. Import existing markup with a malformed duration and it is caught and reported rather than quietly carried through.

Supplies and tools are not the same thing

A supply is consumed by the job. A tool is not. Paint, screws, flour and masking tape are supplies; a roller, a screwdriver, a mixing bowl and a tape measure are tools. The test is whether you still have it when you have finished.

Both are optional and getting them the wrong way round invalidates nothing. It just describes your page slightly wrongly to whatever is reading it, which is the entire point of writing structured data in the first place.

What valid HowTo markup needs

  • name, which is the thing being made or done.
  • step, an array of HowToStep, each with its own text. A name per step is optional and worth having.
  • Everything else is optional: description, image, totalTime, estimatedCost, supply and tool.
  • Images and step links have to be full addresses. A path like /images/step-1.jpg resolves to nothing for anything reading your markup from elsewhere, and it is a mistake this tool catches.
  • A step’s url is meant to be a deep link to that step, which means it should carry an anchor. A step URL pointing at the page as a whole adds nothing.
  • estimatedCost should be a MonetaryAmount with a three letter currency code, not a bare number and not “about 40 quid”.

The one way this can hurt you

Structured data has to describe what a visitor can actually see. Steps that exist only in the markup, or that differ from the steps on the page, are a structured data violation and can earn a manual action. This is the same trap as FAQ markup and it catches people the same way: they build the markup in a generator, paste it in, and never put the steps on the page.

That is why this tool offers to read the steps off your page. Numbered headings, or headings beginning with the word “step”, become the steps, and the text underneath each becomes its instruction. The markup then matches the page because it came from it.

Which tool do I want?

  • This one turns a sequence of instructions into valid HowTo markup, or checks the markup you already have.
  • The FAQ Schema Generator handles the other half of this family. FAQPage is for unrelated questions and answers; HowTo is for one task done in order. A page can legitimately carry both.
  • The Heading Structure Checker is worth running first, because this tool finds your steps by reading the heading outline. If the headings are a mess, the extraction will be too.
  • The SERP Snippet Preview Tool shows what your result will actually look like now, which is the plain title, URL and description.
  • The Free Readability Checker is worth a pass over the instructions themselves. A step nobody can parse is a step nobody can follow.

Is anything stored?

No. Steps you type and markup you paste are handled entirely in your browser, which is why the output appears as you type. The one exception is reading steps off a page by address: a browser is not permitted to fetch another site’s pages directly, so the address is sent to our server, which reads the page and returns its headings and text. Nothing is written to a database or a log either way.

What this one does differently

Most HowTo generators are two boxes and a loop. They also still illustrate themselves with a step carousel Google switched off in 2023.

It tells you the truth first

HowTo rich results went desktop-only in August 2023 and were retired entirely later that year. That is at the top of the page, not buried in a footnote, because it changes whether this is worth your afternoon.

Durations done for you

totalTime has to be an ISO 8601 duration, and "PT1H30M" is where hand-written HowTo markup breaks more than anywhere else. Type hours and minutes, see exactly what they become, and import existing markup and have a malformed duration caught rather than carried forward.

It tells you when to use something else

If what you are marking up is a recipe, Recipe markup still produces a live rich result with the picture, rating and cooking time. If it is developer documentation, TechArticle fits better. The tool reads your steps and says so, which no generator that only sells HowTo will ever do.

It reads the steps off your page

Give it an address and it finds the numbered headings, takes the text under each as that instruction, and splits a leading sentence into the step title. No retyping and no transcription errors.

Supplies, tools and costs, correctly

Supplies are what gets used up and tools are what you keep, which is the distinction everybody gets backwards once. Costs become a proper MonetaryAmount with a currency rather than a bare number.

Real validation

Empty steps, a step with a title and no instruction, relative image paths that will never resolve, step links with no anchor, a currency that is not a currency code. Each one named, with the step number it belongs to.

Questions about HowTo schema

Is HowTo schema still worth adding?

Not for Google results. The HowTo rich result was limited to desktop in August 2023 and withdrawn completely later the same year, and there has been no step carousel on desktop or mobile since. Nothing you add will bring it back.

It is still worth adding if your page genuinely has numbered steps and you care about the things that still read structured data: AI answer engines and assistants, which find clean step boundaries much easier to lift accurately than prose, and search engines other than Google. Adding it causes no harm either way; Google ignores structured data it does not use.

What should I use instead?

It depends what the page actually is, and this is the useful question. If it is food, use Recipe: recipe results are among the richest Google still shows, with the image, the rating, the time and the calories. If it is developer documentation, TechArticle is a closer fit and sits inside the Article family. For anything else, Article or BlogPosting with clean, well-written H2 headings is the honest answer, and good headings are also what wins a featured snippet.

This tool reads your steps and will say so if it thinks one of those fits better than HowTo.

Why does totalTime look like PT1H30M?

Because schema.org uses ISO 8601 durations, which are unforgiving and nothing like how anyone writes time. "P" opens the duration, "T" has to appear before any part smaller than a day, and the units are H, M and S. So ninety minutes is PT1H30M, forty-five minutes is PT45M, and two and a half hours is PT2H30M. "P1H30M" is wrong because the T is missing, and "1:30" is not a duration at all.

This is the single most common error in hand-written HowTo markup, which is why this tool asks for hours and minutes and writes the duration itself, shows you what it produced, and rejects a malformed one when you import existing markup rather than passing it through.

What is the difference between a supply and a tool?

A supply is consumed by the job and a tool is not. Paint, screws, flour and tape are supplies. A roller, a screwdriver, a mixing bowl and a tape measure are tools. You can tell them apart by asking whether you still have it when the job is finished.

Both are optional, and getting them the wrong way round will not invalidate anything. It just describes your page slightly wrongly to whatever reads it.

Can HowTo markup hurt me?

In one way, the same way FAQ markup can. Structured data has to describe content a visitor can actually see on the page. Steps that exist only in the markup, or that say something different from the steps on the page, are a structured data violation and can earn a manual action. That is the reason this tool offers to read the steps off your page rather than inviting you to invent them.

Beyond that, no. Markup nothing renders is simply ignored.

Do I need an image for every step?

No. Step images were what the old rich result displayed, and that result is gone, so they now buy you very little. If you have them they do no harm and they help anything trying to reconstruct the instructions. If you add them, they have to be full addresses starting with http:// or https:// rather than paths like /images/step-1.jpg, which is a mistake the tool catches.

The same goes for the step URL. It is meant to be a deep link to that step on the page, which means it should carry an #anchor. A step URL pointing at the page as a whole tells a reader nothing it did not already know.

How is this different from the FAQ Schema Generator?

Different schema type for a different kind of page. FAQPage describes a set of unrelated questions and answers. HowTo describes one task done in a sequence, where the order matters and there may be supplies, tools, a cost and a total time. A page with both an FAQ and a set of instructions can legitimately carry both blocks.

Is my content sent anywhere?

No. Steps you type and markup you paste are handled entirely in your browser, which is why the output appears as you type. The one exception is reading steps off a page by address: a browser is not permitted to fetch another site's pages directly, so the address is sent to our server, which reads the page and returns its headings and text. Nothing is written to a database or a log either way.

More free SEO tools