User Rating 0.0
Total Usage 0 times
Conversion Log
Waiting for input file...
Is this tool helpful?

Your feedback helps us improve.

About

This tool performs a structural migration of recipe data from the legacy Cookbook+ database format (.sqlite) into the Paprika import standard (.yml). Cookbook+ typically utilizes an Apple CoreData SQLite structure, storing ingredients, photos, and instructions in binary-linked tables. Extracting this manually requires SQL knowledge and binary parsing.

The converter automates the schema mapping process. It identifies the ZRECIPE table, links related ZINGREDIENT entities, and decodes binary image blobs (JPEG/PNG) into Base64 strings compatible with Paprika's import engine. The output is a strictly formatted YAML document.

Risk Note: SQLite files can be complex. If the internal schema deviates from the standard CoreData model (v1.0 or v2.0), automatic column detection is used to approximate the best match.

recipe converter cookbook+ paprika app sqlite to yaml food data

Formulas

The conversion relies on identifying the Schema S of the input database. We define the mapping function f as:

f(Rsource) → Rtarget

Where a recipe object R is constructed by joining the Recipe table Trec with Ingredients Ting:

Rfinal = Trec + ni=0 parse(Ting[i])

Time conversion applies a standard formatting logic for Paprika compatibility:

tstr =
{
m min if m < 60h hr m min otherwise

Reference Data

Cookbook+ Field (Source)Paprika Field (Target)Data TypeTransformation Logic
ZTITLE / titlenameStringDirect mapping. Truncated to 255 chars if needed.
ZPREPTIMEcook_timeStringConverted from seconds/minutes to human string (e.g., '20 min').
ZDESCnotesText BlockMultiline strings preserved with YAML pipe (|) syntax.
ZIMAGEphotoBase64Binary blob extraction. Note: Large images may be resized.
ZINGREDIENTSingredientsList<String>Joined from related table or parsed from delimited string.
ZURLsourceURLValidated for protocol (http/https).

Frequently Asked Questions

Cookbook+ exports usually come as a package. You must locate the actual database file, often hidden inside the backup or export folder, and rename it to source.sqlite for easy identification, though this tool accepts any valid SQLite file.
Yes. The tool extracts the binary blob data from the "ZIMAGE" or "photo" column. However, very large databases (>500MB) may cause the browser to run out of memory during Base64 encoding.
Categories are mapped from the "course" or "categories" column. If multiple categories exist, they are comma-separated in the YAML output.
Yes. The output is a standard YAML text file. You can open "converted.yml" in any text editor (Notepad, TextEdit) to manually adjust ingredients or names before importing into Paprika.
This tool generates the YAML component. Paprika accepts both .paprikarecipes (ZIP) and .yml files. This tool outputs the .yml format which is easier to inspect and debug.