Recipes
OpenTodoList can store recipes alongside todo lists, notes, and images.
Recipes are regular library items, so they use the same local-first and sync-friendly model as the rest of your OpenTodoList data. A recipe can contain a title, notes, yield, ingredients, utilities, preparation steps, attachments, and tags.
Creating and editing recipes
Open a library, select the + button, and choose Recipe. Enter a title to create the recipe, then open it to edit its contents.
- Yield records how much the complete recipe produces, such as
4 servingsor12 pieces. - Ingredients have an amount, unit, and name. Ingredient headings can group
entries into sections such as “Dough” and “Filling”. Fractional amounts accept
either a decimal point or comma, for example
0.5or0,5. - Utilities list equipment such as a bowl, mixer, or oven.
- Steps contain the preparation instructions and can use Markdown.
Importing recipe text with AI
First configure a provider as described in AI Integration. Then:
- Open the library that should receive the recipe.
- Select +, followed by Import Recipe.
- Paste the recipe text or a public HTTP or HTTPS URL into the input field.
- Optionally enable Translate recipe and select the target language, or choose a target measurement system: metric, US customary, or British imperial. Measurement conversion defaults to Do not convert.
- Select Parse with AI.
- Review and edit the generated recipe. Nothing is stored in the library yet.
- Select Save to create the recipe, or Cancel to discard the draft.
AI output can contain mistakes even when it is valid JSON. In particular, review ingredient quantities, units, temperatures, cooking times, and food safety instructions before using an imported recipe.
Translation and unit conversion are performed by the selected AI model. Unit conversion applies to structured ingredient quantities as well as measurements and temperatures found in notes or preparation steps. US customary and British imperial units are separate targets because similarly named units such as fluid ounces, pints, and gallons have different sizes. Results are rounded to practical culinary values, but should still be reviewed. These transformations are not applied by Import OpenTodoList JSON, which imports the shared data without contacting an AI provider.
When you paste a URL, OpenTodoList downloads the page, extracts its readable text, and submits that text to the configured AI provider. The download is limited to textual content of at most 2 MiB. Pages that require a login or JavaScript to display the recipe might not work; copy and paste the visible recipe text in that case.
Because the downloaded text is sent to the AI provider, only import URLs whose content you are comfortable sharing with that provider. Redirects from HTTPS to unencrypted HTTP are rejected.
Sharing recipes as OpenTodoList JSON
Recipes can be shared without using an AI provider. OpenTodoList exports a portable, versioned exchange document containing recipe content but no library association, synchronization metadata, local file paths, or internal item ID.
To share a recipe:
- Open the recipe.
- Open the app's Edit or item menu, depending on the platform.
- Select Copy as OpenTodoList JSON.
- Paste the copied text into a message, note, or file and send it to the other user.
To import the shared recipe:
- Copy the complete OpenTodoList JSON document.
- Open the destination library and select + followed by Import Recipe.
- Paste the document and select Import OpenTodoList JSON.
- Review the recipe and select Save.
Direct JSON import is processed by OpenTodoList itself. It does not contact the configured AI provider and does not require an API key. Treat exported JSON as you would the recipe itself: notes and other recipe content may contain private information.