✓ TestedWorks with CSV, Excel, Google Sheets → JSON-LD Schema
By dataclean.to team · 2026-02-13
Recipe schema markup produces some of the most visually distinctive rich results in Google Search — images, star ratings, cooking times, calorie counts, and ingredient previews directly in the search listing. Food bloggers, recipe publishers, and culinary databases managing recipe collections in CSV spreadsheets can convert their data into validated Recipe JSON-LD using dataclean.to, which handles the unique normalization challenges of cooking data: duration formats, ingredient parsing, and nutrition value standardization.
The Problem
Recipe data stored in spreadsheets has formatting patterns that are specific to the culinary domain. Cook times appear as "30 min", "1.5 hours", "45 minutes at 350°F", or separate columns for prep, cook, and total time. Ingredient lists are either comma-separated in a single cell or spread across multiple columns ("ingredient 1", "ingredient 2", etc.). Nutrition values mix units: "250 cal", "250 kcal", "15g fat", "15 grams of fat." Yield formats include "4 servings", "Makes 12", "2 loaves." Schema.org Recipe requires ISO 8601 durations ("PT30M"), structured NutritionInformation objects, and recipeIngredient arrays — none of which match the raw spreadsheet formats. Recipe schema type specification
How to Fix It
1
Upload your recipe CSV
Import your CSV containing recipe data. Include columns for recipe name, description, prep time, cook time, total time, ingredients, instructions, yield/servings, nutrition information, image URLs, and any ratings or review data.
2
Detect recipe-specific data patterns
dataclean.to identifies duration fields (even in natural language), ingredient lists (single-cell or multi-column), nutrition values with units, image URLs, and rating data. Each detected type receives appropriate cleaning rules.
3
Normalize durations and nutrition
Convert all time values to ISO 8601 duration format: "30 minutes" becomes "PT30M", "1 hour 15 min" becomes "PT1H15M". Nutrition values are standardized into structured format with numeric values and consistent units for calories, fat, carbohydrates, protein, and other nutrients.
4
Map columns to Recipe schema properties
Map your cleaned columns to Recipe properties: name, description, image, prepTime, cookTime, totalTime, recipeIngredient (as array), recipeInstructions (as HowToStep objects), recipeYield, nutrition (as NutritionInformation), and aggregateRating.
5
Generate Recipe JSON-LD
Export JSON-LD for each recipe with properly structured ingredients arrays, HowToStep instructions, NutritionInformation, and ISO 8601 durations. Test with Google's Rich Results Test to confirm recipe card eligibility.
Frequently Asked Questions
How should ingredients be formatted for Recipe schema?
Recipe schema expects recipeIngredient as an array of strings, where each string is a complete ingredient entry (e.g., '2 cups all-purpose flour'). If your CSV has ingredients in a single cell separated by commas or line breaks, dataclean.to splits them into individual array entries. If they're in separate columns, each column becomes one array entry.
What time formats does Google require for Recipe schema?
Google requires ISO 8601 duration format for prepTime, cookTime, and totalTime. Examples: PT30M (30 minutes), PT1H (1 hour), PT1H30M (1 hour 30 minutes), PT45M (45 minutes). dataclean.to converts natural language time expressions into this format automatically.
Can I include step-by-step instructions in the schema?
Yes. If your CSV has a column with recipe instructions, they can be mapped to recipeInstructions as either a single text block or structured HowToStep objects (if the instructions are numbered or separated). Structured steps are preferred by Google for recipe rich results.
Example: Input → Output
name
prep_time
cook_time
servings
calories
Pasta Carbonara
15 min
20 min
4
650
pasta carbonara
PT15M
PT20M
4
650 cal
Red rows show common data quality issues. dataclean.to normalizes and generates JSON-LD automatically.