Recipe schema generator
Produce Recipe markup with ingredients, step-by-step instructions and properly formatted times, the data behind recipe results and carousels.
Required
2/2
Recommended
13/15
All Google-required properties present. That makes the page eligible, not guaranteed. Google's docs
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Recipe",
"name": "Weeknight lentil ragù",
"image": [
"https://example.com/img/ragu-1x1.jpg",
"https://example.com/img/ragu-16x9.jpg"
],
"description": "A rich, meat-free ragù built on brown lentils and a long-cooked soffritto.",
"author": {
"@type": "Person",
"name": "Luca Benedetti"
},
"datePublished": "2026-08-30",
"prepTime": "PT15M",
"cookTime": "PT40M",
"totalTime": "PT55M",
"recipeYield": "4 servings",
"recipeCategory": "Dinner",
"recipeCuisine": "Italian",
"keywords": "lentils, vegetarian, pasta sauce",
"nutrition": {
"@type": "NutritionInformation",
"calories": "420 calories"
},
"recipeIngredient": [
"1 cup brown lentils, rinsed",
"1 onion, finely diced",
"2 carrots, finely diced",
"400 g crushed tomatoes",
"2 tbsp olive oil"
],
"recipeInstructions": [
{
"@type": "HowToStep",
"text": "Soften the onion and carrot in olive oil for 10 minutes."
},
{
"@type": "HowToStep",
"text": "Add lentils, tomatoes and 2 cups of water; simmer 35 minutes."
},
{
"@type": "HowToStep",
"text": "Season and toss with pasta."
}
]
}
</script>When to use Recipe markup
- A page with one recipe on it.
- Food blogs: put the markup on the post, matching the recipe card.
- Not for round-ups of many recipes (use an ItemList of links instead).
Getting it right
- Google requires name and image. The recommended set is long: author, times, yield, ingredients, instructions, nutrition.calories, category, cuisine and keywords.
- Times use ISO 8601 durations; this tool converts minutes to PT1H15M automatically.
- Write one HowToStep per instruction; don't pack the whole method into one step.
- Keywords should be extra descriptors (e.g. "winter, one-pot"), not repeats of the category or cuisine.
Source: Google Search Central, Recipe structured data documentation, and schema.org/Recipe.
Google's property list
| Property | Google says |
|---|---|
name | required |
image | required |
aggregateRating | recommended |
author | recommended |
cookTime | recommended |
datePublished | recommended |
description | recommended |
keywords | recommended |
nutrition.calories | recommended |
prepTime | recommended |
recipeCategory | recommended |
recipeCuisine | recommended |
recipeIngredient | recommended |
recipeInstructions | recommended |
recipeYield | recommended |
totalTime | recommended |
video | recommended |
Example output
{
"@context": "https://schema.org",
"@type": "Recipe",
"name": "Weeknight lentil ragù",
"image": [
"https://example.com/img/ragu-1x1.jpg",
"https://example.com/img/ragu-16x9.jpg"
],
"description": "A rich, meat-free ragù built on brown lentils and a long-cooked soffritto.",
"author": {
"@type": "Person",
"name": "Luca Benedetti"
},
"datePublished": "2026-08-30",
"prepTime": "PT15M",
"cookTime": "PT40M",
"totalTime": "PT55M",
"recipeYield": "4 servings",
"recipeCategory": "Dinner",
"recipeCuisine": "Italian",
"keywords": "lentils, vegetarian, pasta sauce",
"nutrition": {
"@type": "NutritionInformation",
"calories": "420 calories"
},
"recipeIngredient": [
"1 cup brown lentils, rinsed",
"1 onion, finely diced",
"2 carrots, finely diced",
"400 g crushed tomatoes",
"2 tbsp olive oil"
],
"recipeInstructions": [
{
"@type": "HowToStep",
"text": "Soften the onion and carrot in olive oil for 10 minutes."
},
{
"@type": "HowToStep",
"text": "Add lentils, tomatoes and 2 cups of water; simmer 35 minutes."
},
{
"@type": "HowToStep",
"text": "Season and toss with pasta."
}
]
}Recipe schema questions
Why is my recipe not showing with stars?
Stars require aggregateRating from real on-page ratings, and even valid markup is only eligible, never guaranteed, for a rich result.
Is totalTime needed if I give prep and cook time?
It's recommended. This generator fills it in as prep plus cook; change it if resting or chilling time adds more.
Can I include a video?
Yes, Recipe supports a video property with a VideoObject. Use the video schema generator to build it and nest it.