From Paprika to PDF: Comparing Recipe Export Formats

8 min read

You have decided to get your recipes out of a proprietary app. Good. Now you face the next question: export to what?

MoveMyRecipes.com offers seven export formats: JSON, CSV, Markdown, CookLang, PDF, HTML, and Open Recipe Format. Each one preserves different things, works in different contexts, and serves different purposes. This guide puts them side by side so you can choose with confidence -- or, better yet, export to several.

What a Recipe Contains

Before comparing formats, let's establish what a complete recipe can include. Not every recipe has all of these, but a fully populated recipe might contain:

  • Name -- the recipe title
  • Description -- a brief summary
  • Ingredients -- the full ingredient list with quantities and units
  • Instructions -- step-by-step cooking directions
  • Prep time, cook time, total time -- timing metadata
  • Yield -- servings or portions
  • Category -- meal type (dinner, dessert, etc.)
  • Cuisine -- regional style (Italian, Thai, etc.)
  • Source URL -- where the recipe came from
  • Author -- who created it
  • Notes -- personal annotations and modifications
  • Image -- a photo of the dish
  • Nutrition -- calorie and macronutrient data
  • Rating -- aggregate score
  • Keywords -- tags for search and organization

The question for each export format is: how much of this survives the conversion?

The Comparison Table

Data Field JSON CSV Markdown CookLang PDF HTML ORF (YAML)
Name Yes Yes Yes Yes Yes Yes Yes
Description Yes Yes Yes Yes Yes Yes Yes (as notes)
Ingredients Yes Yes Yes Yes Yes Yes Yes (structured)
Instructions Yes Yes Yes Yes Yes Yes Yes
Prep time Yes Yes Yes Yes Yes Yes Yes
Cook time Yes Yes Yes Yes Yes Yes Yes
Total time Yes Yes Yes Yes Yes Yes Yes
Yield Yes Yes Yes Yes Yes Yes Yes
Category Yes Yes Yes No No Yes Yes
Source URL Yes Yes Yes Yes Yes Yes Yes
Author Yes No No No No No Yes
Notes Yes Yes Yes Yes Yes Yes Yes
Image URL Yes No No No Yes* No No
Nutrition Yes No No No No No No
Rating Yes Yes Yes No Yes No No
Keywords Yes No No No No No No
Machine-readable Yes Yes No Yes No Partially Yes
Re-importable Yes Varies No Yes No No Yes

*PDF includes the image reference in the rendered card but not as extractable data.

Let's walk through each format in detail.

JSON (Schema.org)

What it preserves: Everything. JSON is the most complete export format we offer. It outputs your recipes as Schema.org-compliant structured data, including every field our system captures: name, description, ingredients, instructions, timing, yield, category, cuisine, author, source URL, image URL, nutrition data, ratings, keywords, and notes.

What it loses: Nothing. JSON is a lossless export.

File type: .json -- a text file you can open in any editor.

Best for: Full backups. Importing into other recipe tools. Developers building on recipe data. Anyone who wants maximum preservation with no compromises.

Limitation: Not the friendliest format for non-technical users to read. The curly braces, quotation marks, and nested structures can be intimidating if you just want to see your recipe.

CSV

What it preserves: Name, description, ingredients, instructions, prep/cook/total time, yield, category, source URL, rating, and notes. Each recipe is one row with 12 columns.

What it loses: Author, image references, nutrition data, keywords, cuisine, and structured data relationships. Ingredients and instructions get flattened to text strings within their cells.

File type: .csv -- opens in Excel, Google Sheets, Numbers, LibreOffice, and any spreadsheet app.

Best for: Bulk viewing and editing. Sorting and filtering recipes. People who live in spreadsheets. Sharing with anyone who knows how to open a spreadsheet.

Limitation: Complex recipe data gets flattened. You cannot represent nested ingredient structures or multi-section instructions in a flat table.

Markdown

What it preserves: Name, description, ingredients, instructions, timing, yield, category, rating, source URL, and notes. Outputs clean, readable plain text with formatting.

What it loses: Author, image references, nutrition data, keywords, and cuisine. No machine-readable structure.

File type: .md -- a text file that renders beautifully in note-taking apps, GitHub, and Markdown viewers.

Best for: Personal recipe archives in plain text. Note-taking apps like Obsidian, Notion, or Bear. Anyone who values readability above all else.

Limitation: Not re-importable into recipe apps. Markdown is for humans, not machines. It is a one-way export -- great for reading, not for round-tripping back into structured data.

CookLang

What it preserves: Name, ingredients (with amounts and units embedded inline), instructions, timing metadata, yield, source URL, and notes. Cookware mentions are preserved if present.

What it loses: Author, category, image references, nutrition data, keywords, cuisine, and rating. Category and rating are not part of the CookLang specification.

File type: .cook -- a text file compatible with the CookLang ecosystem (cooklang.org).

Best for: Developers and plain-text enthusiasts. Version control with Git. People who want structured ingredient data in a readable text format. Anyone who uses or plans to use CookLang tools.

Limitation: The inline ingredient syntax (@ingredient{qty%unit}) is not intuitive for everyone. Sharing with non-technical family members may require explanation.

PDF

What it preserves: Name, description, ingredients, instructions, timing, yield, category, rating, notes, source URL, and image (rendered visually). The output is a formatted recipe card designed for printing.

What it loses: Machine-readable structure. Author (as a separate field), keywords, cuisine, nutrition data. Most critically, PDF is not importable -- it is a visual document, not a data format.

File type: .pdf -- opens on any device with a PDF reader.

Best for: Printing recipe cards. Sharing a polished recipe with someone who just wants to read it. Creating a physical recipe binder.

Limitation: One-way format. You cannot import a PDF back into a recipe app. Once data goes to PDF, it becomes a picture of a recipe rather than recipe data.

HTML

What it preserves: Name, description, ingredients, instructions, timing, yield, category, source URL, and notes. The output is a standalone, styled web page.

What it loses: Author, image as extractable data, nutrition data, keywords, cuisine, and rating. Like PDF, it is primarily a visual format.

File type: .html -- opens in any web browser.

Best for: Browsing recipes locally in a web browser. Hosting on a personal website. Sharing a formatted recipe via email. Anyone who wants a visually appealing format that works without special software.

Limitation: Not easily re-importable. While HTML is technically parseable, it is designed for display rather than data interchange.

Open Recipe Format (YAML)

What it preserves: Name, structured ingredients (with separate amount, unit, and processing fields), instructions, timing, yield, source URL, author, notes, category, and oven temperature. Ingredients are richly structured -- more so than any other format except JSON.

What it loses: Image references, nutrition data, keywords, cuisine, and rating. These fields are not part of the ORF specification.

File type: .yaml -- a text file readable by humans and parseable by machines.

Best for: People who want structured recipe data in a human-readable format. Recipe archiving with rich ingredient detail. Anyone interested in an emerging recipe-specific standard.

Limitation: Less widely supported than JSON or CSV. Fewer apps can import YAML recipe files natively.

Recommendations by Use Case

"I want a full backup of everything." Export to JSON. It preserves every field and is the safest long-term archive format.

"I want to print my recipes." Export to PDF. That is exactly what it is designed for.

"I want to edit recipes in a spreadsheet." Export to CSV. Sort, filter, and bulk-edit to your heart's content.

"I want clean readable files in my notes app." Export to Markdown. It works beautifully in Obsidian, Notion, Bear, and any plain text editor.

"I'm a developer who wants version-controlled recipes." Export to CookLang. It was built for your workflow.

"I want rich structured data I can read without software." Export to Open Recipe Format. YAML gives you the best balance of structure and readability.

"I want a recipe page I can open in a browser." Export to HTML. No server, no app, just a file and a browser.

"I'm not sure what I need." Export to JSON and one other format. JSON gives you the safety net; the second format gives you immediate usability.

You Do Not Have to Choose Just One

MoveMyRecipes is free. Exporting to multiple formats costs nothing except a few extra clicks. If you are migrating from Paprika, Cook'n, or CopyMeThat, consider exporting to JSON for archival and your preferred readable format for daily use. That way you have both the complete data and the convenient version.

Your recipes are yours. Store them in formats that serve you.

Ready to move your recipes?

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

Convert My Recipes