JSON-LD Recipe Schema Builder

Build Recipe structured data to appear in Google's recipe rich results

Create a complete Recipe JSON-LD with name, image, ingredients, step instructions, prep and cook time, yield, nutrition and aggregate rating. Outputs a script tag ready for Google recipe rich results. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What does Recipe structured data do?

It tells Google the ingredients, steps, time and ratings of a dish. Eligible recipes can appear in the recipe carousel and gain star ratings and cook-time labels in search, which lifts traffic substantially.

The JSON-LD Recipe Schema Builder turns a recipe into a valid schema.org/Recipe block. Proper markup makes your dish eligible for Google’s recipe carousel and adds star ratings, cook time and calorie labels to your listing — a meaningful traffic boost for food sites.

How it works

The tool builds a Recipe object with name, image, description, recipeYield, recipeCategory and recipeCuisine. Ingredients are split by line into a recipeIngredient array. Each instruction line becomes a HowToStep object inside recipeInstructions. Prep and cook minutes are converted to ISO 8601 durations (PT#H#M) for prepTime and cookTime, and their sum is emitted as totalTime. When you supply calories, a NutritionInformation block is added, and a rating produces an aggregateRating.

ISO 8601 duration format explained

Recipe times must follow ISO 8601 duration notation, which looks unfamiliar if you have not seen it before:

DurationISO 8601Use for
15 minutesPT15MA quick sauce
1 hourPT1HA slow roast
1 hour 30 minutesPT1H30MA casserole
2 hours 15 minutesPT2H15MBread proving time

The PT prefix stands for “Period/Time”. The tool converts your entered minutes automatically, so you never have to write these by hand.

Fields that most affect rich-result eligibility

Google lists several fields as particularly important for recipe rich results. Marking them up correctly maximises the chance your recipe is displayed with the carousel treatment:

  • Image — a high-quality photo is strongly favoured. Use an absolute URL to a 16:9, 4:3, or 1:1 image. Pages without images are less likely to get the visual carousel.
  • recipeIngredient — each ingredient on its own line. This powers voice assistant queries like “what ingredients do I need for sourdough?”
  • recipeInstructions as HowToStep — individual step objects (rather than a single text blob) enable step-by-step display on mobile and in Google Assistant.
  • totalTime — displayed prominently as a cook-time label next to your result. The tool calculates it automatically from prep plus cook time.
  • aggregateRating — star ratings are one of the most visible signals in the carousel. Only add these if your recipe page genuinely collects user ratings.

Tips and example

Use a high-quality, absolute image URL — Google strongly favours recipes with images. Keep each instruction as one clear action per line. The duration converter handles the format, so just enter whole minutes. A two-step instruction array looks like this:

"recipeInstructions": [
  { "@type": "HowToStep", "text": "Preheat the oven to 180°C." },
  { "@type": "HowToStep", "text": "Mix the dry ingredients in a bowl." }
]

After generating the markup, validate it with Google’s Rich Results Test to catch any missing required fields before publishing.