Home › Developer Tools › Recipe Schema Generator

Recipe Schema Generator

Paste your ingredient list and instructions, enter the times, yield and nutrition, and get Recipe JSON-LD ready for your food blog. Bullets and step numbers are cleaned up automatically, sections become HowToSection groups, and times are converted to ISO 8601.

Last updated:

Recipe

Required by Google. Ideally 16:9, 4:3 and 1:1 versions, at least 50,000 pixels.

A number or text like “12 cookies”.

Times

Prep time
hmin
Cook time
hmin
Total time
hmin

Leave empty to use prep + cook.

Classification

Ingredients & steps

Bullets like “- ” or “• ” are removed automatically.

Numbering such as “1.” is removed. Start a line with ## to begin a section, e.g. ## For the sauce.

Nutrition per serving (optional)

Rating & video (optional)

Recipe JSON-LD

      
Advertisement
Advertisement

How to use the Recipe Schema Generator

  1. Enter the recipe name, a short description and at least one image URL.
  2. Fill in the author, date and yield, such as 4 servings or 24 cookies.
  3. Enter prep and cook times; the total time is added up for you.
  4. Paste the ingredients and the steps, one per line. Start a line with ## to begin a section.
  5. Add nutrition and rating if they appear on the page, then copy the JSON-LD into your recipe post.

Recipe properties and how this tool fills them

PropertyGoogle statusWhat the tool writes
nameRequiredThe recipe title.
imageRequiredOne URL or a list of URLs.
recipeIngredientRecommendedOne string per ingredient line, bullets removed.
recipeInstructionsRecommendedHowToStep items, grouped into HowToSection when you use ## headings.
prepTime, cookTime, totalTimeRecommendedISO 8601 durations; total = prep + cook if left empty.
recipeYieldRecommended"4 servings", or your own text such as "24 cookies".
nutritionRecommended (calories)NutritionInformation per serving, e.g. "520 calories", "29 g".
aggregateRatingRecommendedAverage out of 5 and the number of ratings.
author, datePublished, descriptionRecommendedPerson or Organization; ISO date; short summary.
recipeCategory, recipeCuisine, keywordsRecommendedPlain text; keywords comma-separated.
videoRecommendedVideoObject with name, description, thumbnail, upload date and content URL.

Common cooking times in ISO 8601

TimeCodeTimeCode
5 minPT5M1 hPT1H
15 minPT15M1 h 15 minPT1H15M
20 minPT20M2 h 30 minPT2H30M
45 minPT45M8 h (slow cooker)PT8H

Tips for food bloggers

  • Mark up the recipe card, not the story. The markup should describe the recipe shown on the page.
  • Write amounts with ingredients, e.g. "1 tsp ground cumin", and add metric amounts if your readers use them.
  • Keep steps short: one or two actions per line work best for step-by-step views.
  • Include total time that covers resting, rising or chilling, not only active cooking.
  • Use high-quality photos of the finished dish in several aspect ratios.

Frequently asked questions

Which recipe properties does Google require?

Google requires name and image for recipe rich results. Recommended properties include author, datePublished, description, prepTime, cookTime, totalTime, recipeYield, recipeCategory, recipeCuisine, keywords, recipeIngredient, recipeInstructions, nutrition.calories, aggregateRating and video.

How are cooking times written?

prepTime, cookTime and totalTime use ISO 8601 durations: PT15M is 15 minutes, PT1H is one hour and PT1H30M is an hour and a half. Enter hours and minutes and the tool converts them. Always give prepTime and cookTime together with totalTime.

How should I format ingredients?

Put each ingredient with its amount on its own line in recipeIngredient, for example "2 cups (250 g) all-purpose flour". Only include the ingredients needed for the recipe, not serving suggestions or extra notes.

How do I split instructions into sections?

If a recipe has parts such as the dough and the filling, start a line with ## and the section name, for example "## For the filling". The steps that follow are grouped into a HowToSection with that name, and each line becomes a HowToStep.

Is nutrition information per serving or for the whole recipe?

Nutrition values in Recipe markup are per serving, and recipeYield tells how many servings the recipe makes. Make sure the numbers match what is shown on the page; the tool adds units like g and mg when you enter plain numbers.

Can I add star ratings to a recipe?

Yes, if the page shows real ratings from visitors. Add the average rating and the number of ratings. Do not invent ratings or rate your own recipe; the rating must match what readers can see.

Should I use Recipe or HowTo for cooking?

Use Recipe. It has properties made for food, such as ingredients, yield and nutrition, and recipes remain eligible for Google’s recipe rich results and carousels, while how-to rich results are no longer shown.

Are all the tools on FreeToolCabin tested for quality and accuracy?

Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.

Related tools

Schema Markup Generator (JSON-LD)Create JSON-LD structured data for FAQ, Product, Article and more.HowTo Schema GeneratorCreate HowTo JSON-LD with steps, tools, supplies, total time and cost, then copy it.Recipe ScalerScale recipe ingredients to any number of servings.Nutrition Facts Label GeneratorMake an FDA-style Nutrition Facts label with auto %DV and rounding; download PNG, SVG or PDF.QR Code GeneratorMake QR codes for links, Wi-Fi, email and more.Barcode GeneratorCreate Code 128, EAN-13, UPC-A, EAN-8, Code 39 and ITF-14 barcodes as PNG or SVG.UUID GeneratorGenerate UUID v4 and v7 / GUIDs in bulk and copy or download them.Htaccess & Nginx Redirect GeneratorBuild 301 redirects for .htaccess, Nginx and Netlify or Cloudflare _redirects.Fake Data GeneratorGenerate mock data as JSON, CSV or SQL.Random String GeneratorGenerate secure random strings and tokens in bulk with any length and character set.API Key GeneratorCreate secure API keys and secrets with prefixes, checksums and SHA-256 hashes for storage.MIME Type LookupFind the MIME type for any file extension, or the extensions for a MIME type, in 400+ entries.Cron Expression GeneratorBuild crontab schedules visually, read them in plain English and see the next run times.URL Slug GeneratorTurn titles into clean, SEO-friendly URL slugs: accents, stop words, separators and bulk lines.JSON Schema GeneratorTurn sample JSON into a draft 2020-12 JSON Schema with types, required fields and formats.Gitignore GeneratorBuild a .gitignore from 50+ templates for languages, frameworks, IDEs and OS, merged and deduped.License GeneratorCreate a LICENSE file for MIT, Apache, GPL, BSD, ISC, MPL or Unlicense with your name and year.ULID GeneratorGenerate sortable ULIDs and UUID v7 in bulk, monotonic option, and decode their timestamps.Htpasswd GeneratorCreate .htpasswd entries with bcrypt, APR1-MD5 or SHA-1 for Apache and Nginx basic auth.Placeholder Image GeneratorCreate placeholder images in any size, color and text as PNG, JPG, WebP, SVG or data URI.Ads.txt GeneratorCreate or validate ads.txt and app-ads.txt files: seller lines, cert IDs and variables.Docker Run to Compose ConverterConvert docker run commands to docker-compose.yml, or a compose file back to docker run.Dockerfile GeneratorGenerate a production Dockerfile and .dockerignore for Node, Python, Go or a static nginx site.HTML Boilerplate GeneratorTick the options you need and get a clean HTML5 starter template with meta, OG tags and CSS reset.JSON to Zod SchemaInfer a Zod (or Yup) schema from sample JSON with optional, nullable and z.infer types.Linux Commands Cheat SheetSearchable Linux and bash command reference with flags explained, examples and copy buttons.LLMs.txt GeneratorBuild an llms.txt file for AI crawlers: summary and link sections, import from your sitemap.Nano ID GeneratorGenerate secure Nano IDs with custom alphabet, length and count, plus a collision calculator.Nginx Config GeneratorBuild an nginx server block: static site, SPA, reverse proxy or PHP, with SSL, gzip and redirects.OpenAPI / Swagger ViewerView OpenAPI 2/3 JSON or YAML as interactive API docs with validation and an endpoint list.package.json GeneratorFill a form and get a valid, npm-ready package.json with scripts, dependencies and checks.PKCE Code Challenge GeneratorGenerate an OAuth 2.0 PKCE code_verifier and S256 code_challenge, build auth URLs, verify pairs.README GeneratorFill in a form and get a polished README.md with badges, install, usage and license, live preview.Regex GeneratorBuild regular expressions visually from blocks or presets (email, date, phone) and test them live.Commit Message GeneratorBuild Conventional Commit messages with type, scope, body, breaking change and issue refs.Database Schema DesignerDesign tables and relationships visually, then export SQL for MySQL, PostgreSQL or SQLite.Docker Compose GeneratorBuild a docker-compose.yml with a form: services, ports, volumes, env, healthchecks and presets.Dummy File GeneratorCreate test files of an exact size in KB, MB or GB with zeros, random bytes or text.Security Headers GeneratorPick HSTS, CSP, frame, referrer and permissions options and get Apache, Nginx, Netlify or Cloudflare config.SKU GeneratorBuild consistent SKUs from brand, category, size and color, then export every variant as CSV.Typography Scale GeneratorBuild a modular type scale from a base size and ratio, then copy CSS variables or a Tailwind config.WordPress Salt GeneratorGenerate fresh WordPress security keys and salts for wp-config.php, .env or Docker in one click.ANSI Color Code GeneratorStyle terminal text with 16, 256 or RGB colors and get escape codes for bash, Python, JS and C.Apache Virtual Host GeneratorCreate an Apache VirtualHost config with SSL, redirects, reverse proxy or PHP-FPM in seconds.Bash Prompt GeneratorDrag and drop a custom PS1 prompt for bash or zsh with colors, git branch and a live preview.Changelog GeneratorTurn Conventional Commit messages into a grouped Keep a Changelog Markdown file per version.cURL Command BuilderBuild curl commands from a form: method, headers, query, JSON or form body, auth and flags.Docker Compose to KubernetesConvert docker-compose.yml into Kubernetes Deployment, Service, ConfigMap and PVC manifests.Docker Compose ValidatorCheck a docker-compose.yml for YAML errors, schema mistakes, broken references and deprecated keys.Dockerfile LinterLint a Dockerfile for best practices: pinned tags, apt cleanup, non-root USER and layer count.Dockerignore GeneratorBuild a .dockerignore from Node, Python, Go and Java templates, plus your own entries.ESLint Config GeneratorGenerate a flat eslint.config.js for JavaScript, TypeScript, React or Node with rule presets.Git Branch Name GeneratorTurn a ticket ID and title into a clean, valid git branch name like feature/PROJ-12-add-login.GitLab CI Config GeneratorGenerate a .gitlab-ci.yml with stages, jobs, images, cache, artifacts and rules from templates.Jinja2 Template TesterRender Jinja2 templates with YAML or JSON variables using real Jinja2, with clear error lines.JSON Schema Mock Data GeneratorGenerate realistic sample JSON from a JSON Schema: formats, patterns, $ref, seeds and counts.Kubernetes Secret GeneratorCreate Kubernetes Secret YAML from key/value pairs or .env with auto base64, or decode one.Kubernetes YAML ValidatorValidate Kubernetes manifests against the API schema of a chosen version, with error paths.Prettier Config GeneratorToggle Prettier options, preview formatted code live and copy your .prettierrc file.Quartz Cron GeneratorBuild and explain Quartz and Spring cron expressions with seconds, ?, L, W and #, plus next fire times.README Badge GeneratorCreate Shields.io-style README badges for license, version, build and custom labels.Systemd Service File GeneratorCreate a systemd .service unit with ExecStart, user, restart policy, environment and hardening.tsconfig.json GeneratorBuild a tsconfig.json with target, module, strict checks and path aliases, each option explained.Access Log AnalyzerAnalyze Apache and Nginx access logs: top URLs, IPs, status codes, bots and traffic charts.Regex String GeneratorGenerate random test strings that match any regular expression, checked against the real regex.ASCII Table GeneratorTurn CSV or pasted cells into plain-text tables: MySQL, Markdown, Unicode box and reST styles.FFmpeg Command GeneratorPick a task and options, get the exact ffmpeg command with every flag explained.Folder Tree GeneratorTurn a local folder or an indented list into an ASCII directory tree for your README.
See all 85 Code Generators & Builders →