SchemaValid
ENDE

Recipe Schema Generator

Create valid Recipe JSON-LD structured data for your recipes — with ingredients, steps, times and yield, ready for Google's recipe rich results and carousels. Instant, in your browser, free.

Try an example

Recipe details


Times (optional)

Prep time
Cook time

Ingredients


Instructions

1.
2.

JSON-LD code

Fill in the required fields (name, description, image) to generate the JSON-LD code.

Why Recipe schema matters

Recipe structured data tells Google that a page is a recipe and captures its key facts — the title, image, ingredients, steps, times and yield. Valid Recipe markup makes your page eligible for the most prominent recipe treatments in search: the recipe rich result with a photo, star rating and cook time, and the visual recipe carousel that appears at the top of results for dishes. For food blogs and recipe sites this is transformative, because a card with an appetizing image and a clear time draws far more clicks than a plain link. It also feeds AI assistants the structured facts they need to summarize and recommend your recipe. It works for free — just valid markup on an indexable recipe page.

Ingredients, steps and the time format

A strong recipe markup lists each ingredient separately in the recipeIngredient array and each step as a HowToStep in recipeInstructions — this tool builds both from simple add/remove lists, and filters out any empty rows automatically. Times must be given in ISO 8601 duration format, which is easy to get wrong by hand. Instead you just type hours and minutes into separate boxes — for example 1 and 15 for the cook time — and the tool converts them into the correct PT1H15M string for you. Provide a prep time, a cook time, or both. Adding an image, a yield and a category on top makes your recipe far more likely to earn a rich result.

How to add the schema to your site

Copy the generated code and paste it into a script tag of type application/ld+json in the head section of the recipe page it describes — one recipe per markup block. The name, image, ingredients and steps in the markup must match what visitors see on the page. A minimal example looks like this:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Recipe",
  "name": "Classic Margherita Pizza",
  "description": "A simple, authentic Neapolitan pizza.",
  "image": "https://www.example.com/pizza.jpg",
  "prepTime": "PT20M",
  "cookTime": "PT1H15M",
  "recipeIngredient": [
    "200g flour",
    "150g tomato"
  ],
  "recipeInstructions": [
    {
      "@type": "HowToStep",
      "text": "Knead the dough and let it rest."
    }
  ]
}
</script>

Frequently asked questions

Which fields are required for Recipe schema?
This tool requires a name, a description and an image before it outputs code. For the best rich results you should also add ingredients, steps, a prep or cook time, and a yield — Google uses all of these to build the recipe card.
How does the time format work?
Just type the hours and minutes into the two boxes — for example 1 and 15. The tool converts them into the ISO 8601 duration Google requires, such as PT1H15M, so you never have to write the format by hand. Twenty minutes becomes PT20M.
How are the cooking steps marked up?
Each step you add is output as a HowToStep object inside recipeInstructions, with your text in its text field. This is the structured format Google prefers over a single block of text, and it lets steps appear individually in rich results and voice assistants.
Do empty ingredients or steps appear in the code?
No. The generator filters out any ingredient or step you leave blank, so the final JSON-LD only contains the rows you actually filled in. You can add spare rows without worrying about empty entries in the output.
How do I validate the markup?
Paste your recipe page URL or the generated code into Google's Rich Results Test or the schema.org validator. They parse the JSON-LD and report whether the Recipe structure is valid and eligible for recipe rich results.
What is Recipe schema markup?
Recipe schema markup is a JSON-LD snippet based on the schema.org Recipe type that describes a dish in a machine-readable way — its ingredients, steps, timing and yield — on top of the recipe content readers already see on the page.
Can I list multiple recipes on one page?
It's better not to. Google expects one Recipe entity per dedicated, indexable page, the same way it expects one course or job posting per page. For a roundup post featuring several dishes, link out to each recipe's own page instead of marking up all of them on the roundup page.
Does Recipe schema work for drinks or cocktails too?
Yes. The same Recipe type and the same fields — ingredients, instructions, prep time — apply to beverages and cocktails just as well as to food; there's no separate schema type needed for drinks.
Should I include nutrition information?
It's optional and this tool doesn't currently collect it, but schema.org supports a nutrition property (calories, fat, protein and more) if you want to add it manually to the generated code. It can make your listing more informative but isn't required for basic recipe rich results.
Can I combine Recipe schema with HowTo schema?
Generally, no — pick one. Recipe is the correct type for a dish with ingredients and cooking steps, while HowTo is meant for general instructional content like a DIY project or a setup guide. Marking up the same content as both can confuse Google about what the page actually is.
Does valid Recipe markup guarantee a rich result or carousel placement?
No. Valid structured data makes your recipe eligible for the recipe rich result and carousel, but Google decides which pages actually get shown there based on overall content quality and relevance — there's no guarantee tied to the markup alone.
What are common mistakes when adding Recipe schema?
The most frequent ones are missing or vague ingredients, an image that doesn't clearly show the finished dish, incorrect time formatting, and listing several recipes under one Recipe entity instead of giving each its own page and markup.

Related tools