Understanding Recipe File Formats: JSON, CSV, Markdown and More

7 min read

A recipe is just a name, a list of ingredients, and some instructions. It should be the simplest thing in the world to move from one place to another.

The reason it is not simple is file formats. Every recipe app, every website, and every export tool stores recipe data differently. Some of those formats are open and portable. Some are proprietary and locked to a single application. Knowing the difference -- and knowing which format to choose when you have a choice -- is the single most important thing you can do to protect your recipe collection.

Here is a plain-language guide to the seven export formats available on MoveMyRecipes.com, plus context on when each one makes sense.

JSON (Schema.org / JSON-LD)

What it is: JSON stands for JavaScript Object Notation. It is a structured text format that both humans and computers can read. When we say "JSON" in the context of recipes, we specifically mean JSON-LD using the Schema.org Recipe vocabulary -- the same standard that Google uses to understand recipes on the web.

What it looks like:

{
  "@type": "Recipe",
  "name": "Banana Bread",
  "recipeIngredient": ["3 ripe bananas", "1/3 cup melted butter"],
  "recipeInstructions": [{"text": "Preheat oven to 350F."}]
}

What it preserves: Everything. Name, description, ingredients, instructions, prep time, cook time, yield, author, categories, nutrition, images, and source URL. JSON-LD is the most complete recipe format available.

When to use it: When you want a full backup of your recipes with all metadata intact. When you plan to import into another app that supports structured data. When you care about preserving every detail.

Who it is for: Anyone who wants the most complete, future-proof export. Developers building recipe tools. People who want their recipes to be machine-readable.

CSV

What it is: Comma-Separated Values. A simple table format where each row is a recipe and each column is a field. It opens in Excel, Google Sheets, LibreOffice, Numbers, and virtually every spreadsheet application ever made.

What it looks like: A spreadsheet with columns for name, ingredients, instructions, prep time, cook time, and so on. One recipe per row.

What it preserves: Core recipe data -- name, ingredients, instructions, times, yield. It flattens structured data into a single row, so complex nested information (like multi-section instructions or structured nutrition data) gets simplified.

When to use it: When you want to view, sort, filter, or edit your recipes in a spreadsheet. When you need to share recipes with someone who is not technical. When you want a format that will open on literally any computer.

Who it is for: People who think in spreadsheets. Anyone who wants to do bulk editing (find every recipe that uses butter, change all serving sizes, etc.). People who want maximum compatibility with minimal fuss.

Markdown

What it is: A plain text format with simple formatting conventions. Headings use # symbols, bold text uses **asterisks**, and lists use - dashes. Markdown is readable as raw text and can be rendered into formatted documents.

What it looks like:

# Banana Bread

## Ingredients
- 3 ripe bananas
- 1/3 cup melted butter

## Instructions
1. Preheat oven to 350F.

What it preserves: Name, ingredients, instructions, notes, and basic metadata. The formatting is clean and human-readable even without rendering.

When to use it: When you want recipes stored as simple text files. When you use a note-taking app like Obsidian, Notion, or Bear. When you want recipes you can read and edit in any text editor on any device, forever.

Who it is for: Plain text enthusiasts. Note-taking app users. People who value simplicity and long-term readability over rich structured data.

CookLang

What it is: A specialized plain-text recipe format created by Alexey Dubovskoy and maintained by the community at cooklang.org. CookLang uses a specific syntax: @ marks ingredients, # marks cookware, and ~ marks timers. The format embeds structured data directly into readable recipe text.

What it looks like:

Crack @eggs{3} into a #bowl{} and whisk for ~{2%minutes}.

What it preserves: Ingredients with quantities and units, cookware, timers, metadata (servings, prep time, cook time), and the full instruction text. The unique feature is that ingredients are embedded inline within the steps rather than listed separately.

When to use it: When you want recipe files that work with the CookLang ecosystem of tools. When you like the idea of ingredients being part of the instruction narrative rather than a separate list. When you want recipe files that play nicely with version control systems like Git.

Who it is for: Developers. Plain-text enthusiasts who want more structure than Markdown provides. People who use or want to try the CookLang app and command-line tools.

PDF

What it is: Portable Document Format. A fixed-layout document that looks the same on every device and prints consistently.

What it preserves: Everything visible -- name, ingredients, instructions, times, notes -- formatted as a clean recipe card layout.

When to use it: When you want to print recipe cards. When you want to share a recipe that looks polished regardless of what device the recipient uses. When you need a format that non-technical family members can open without any special software.

Who it is for: Anyone who prints recipes. People sharing with family members who just want to open a file and see a recipe. People who want a nicely formatted archive.

Important note: PDF is a display format, not a data format. You cannot easily import a PDF into another recipe app. It is a one-way street. Use it for printing and sharing, not for migration or backup.

HTML

What it is: The same markup language used to build web pages. Our HTML export creates a standalone web page containing your recipes that opens in any browser.

What it preserves: Name, ingredients, instructions, times, notes, and formatting. The output is a self-contained file that does not depend on any external server.

When to use it: When you want a browsable recipe collection you can open locally. When you want to host your recipes on your own website. When you want something that looks good in a browser and is easy to share.

Who it is for: People who want a visual, browsable recipe file. Anyone sharing recipes via email or a personal website. People who want a more visual presentation than Markdown but more flexibility than PDF.

Open Recipe Format (YAML)

What it is: A YAML-based recipe format designed specifically for recipe portability. Open Recipe Format (ORF) uses human-readable YAML syntax with fields purpose-built for recipes: structured ingredients with amounts and units, step-by-step instructions, yields at multiple serving sizes, oven temperatures, and source attribution.

What it looks like:

recipe_name: Banana Bread
yields:
  - servings: 8
ingredients:
  - ripe bananas:
      amounts:
        - amount: 3
steps:
  - step: Preheat oven to 350F.

What it preserves: Name, structured ingredients (with separate fields for amount, unit, and processing), instructions, times, yields, oven settings, source URL, author, and notes. The structured ingredient format is more detailed than any other plain-text option.

When to use it: When you want a human-readable format that is also richly structured. When you care about ingredient data being properly parsed (amount, unit, and name as separate fields). When you want a recipe-specific format rather than a generic one.

Who it is for: People who want the structure of JSON with the readability of Markdown. Anyone interested in an emerging standard designed from the ground up for recipes.

How to Choose

If you only export in one format, choose JSON. It preserves the most data and gives you the most options later.

If you want a readable backup you can open anywhere, choose Markdown or CSV.

If you want to print, choose PDF.

If you are a developer or plain-text enthusiast, try CookLang or Open Recipe Format.

If you are unsure, export in multiple formats. On MoveMyRecipes.com, it costs nothing and takes seconds. Having your recipes in two or three formats means you are covered no matter what you need next.

Your recipes deserve to live in formats you can actually use.

Ready to move your recipes?

Export and convert your recipe collection for free. No account required.

Convert My Recipes