Recipe markup checker
Paste a recipe page and see what a machine reads from it. We list what is missing or broken in its schema.org markup, and how to fix it. It’s free and needs no sign-up.
No page to hand? Try , , .
What it checks
- Every JSON-LD block on the page, and whether it is valid JSON.
- The fields Google requires, such as the name and an image, and the ones it recommends, such as times, yield and nutrition.
- Whether durations and dates use ISO 8601.
- Whether ingredients and steps can be read as separate lines.
- Whether the recipe survives our normalizer, the code behind the Tiny Plates recipe API.
Why recipe markup breaks
Recipe markup looks simple and often isn’t. When we studied it across recipe sites, 15% of pages had JSON-LD that JSON.parse rejects, and only 1 of 22 sites set inLanguage. The recipe sat inside @graph 56% of the time, so a parser that only looks at the top level misses most of them.
Questions
How does the recipe markup checker work?
Paste the address of a recipe page. We fetch that page once, find its schema.org Recipe in the JSON-LD, and run it through the same code we use for our own recipe API. You see every problem, and what a machine really reads from the page.
Do I need an account?
No. It is free and needs no account. You can run 30 checks an hour.
Do you keep the pages I check?
No. We do not store the address you check or the page we fetch. We keep a hash of your IP address for up to two hours to enforce the limit.
Why does a site refuse the check?
Many sites block automated requests. Allow the user agent TinyPlatesMarkupChecker, or check a page on a site you run.