Curated list of apps, CLIs, libraries, and integrations for Cooklang — a plain-text markup language for recipes.
Cooklang lets you write recipes as .cook files that any tool can read: scale them, generate shopping lists, build cookbooks, sync between devices. This list points to the best tooling, official and community-built.
For curated recipe collections written in Cooklang, see awesome-cooklang-recipes.
- Cook for iOS — Native iOS app. Syncs
.cookfiles via iCloud Drive, Sync Agent, or any external service pointed at a selected local folder. - Cook for Android — Native Android app. Syncs
.cookfiles via Sync Agent or any external service pointed at a selected local folder.
- Cook Editor — Free desktop app for macOS, Windows, and Linux. Syntax highlighting, recipe preview, multi-day meal plans, optional Cookbot AI sidebar.
- cook.md — AI-powered recipe converter. Paste a URL, image, or text and get back Cooklang.
- Cooklang Playground — In-browser editor with raw parser output, powered by
cooklang-rscompiled to WebAssembly. - Cooklang Toolbox — Browser-based viewer and editor with cooking mode, shopping lists, batch upload/download, and AI-powered URL imports. Freemium.
- Cooklang Federation — Federated search across community recipe repositories via RSS / Atom feeds and a crawler.
- awesome-cooklang-recipes — Curated list of public cookbooks written in Cooklang.
- cooklang-rs — Canonical parser. Optional extensions, unit conversion, recipe scaling, rich error reporting. Rust.
- cooklang-bindings — UniFFI bindings exposing
cooklang-rsto Kotlin, Swift, Ruby, and Python. - cooklang-import — Import recipes from URLs into Cooklang via LLM. Rust.
- cooklang-reports — Generate reports from recipes using Jinja2-style templates with scaling, metadata, and YAML datastore. Rust.
- cooklang-find — Filesystem search and tree-building for recipe collections. Rust.
- cooklang-sync — File-sync library optimised for plain-text recipes. Rust.
One canonical pick per language. See parsers.md for alternative implementations and historical projects.
- C — cook-in-c
- Clojure — cooklang-clj
- Dart — cooklang-dart (pub.dev)
- Elixir — cooklang-ex (hex.pm) — official bindings.
- Go — cooklang-go
- Haskell — cooklang-hs (Hackage)
- JavaScript / TypeScript — @cooklang/cooklang — official WASM build of
cooklang-rs. - Lua — cooklang-lua
- .NET / C# — cooklangnet (NuGet)
- Perl — CookLang on CPAN.
- Python — cooklang-py (PyPI)
- Ruby — cooklang_rb (RubyGems)
- Rust — cooklang-rs — see Official Libraries above.
- Swift — CookInSwift — used by the iOS app.
- CookCLI — Official CLI. Parse, validate, scale, generate shopping lists, run a web server, import recipes from the web, manage a pantry, expose an LSP. Available via Homebrew and AUR. Rust.
- cooklang-chef — Alternative CLI with a built-in web UI for scaling and conversion. Rust.
For generating recipe websites from .cook files.
- eleventy-plugin-cooklang — Eleventy.
- jekyll-cooklang-converter — Jekyll.
- astro-cooklang — Astro.
- vite-plugin-cooklang — Vite.
- vitepress-plugin-cooklang — VitePress.
- markdown-it-cooklang — markdown-it.
- n8n-nodes-cooklang — Custom nodes for n8n workflows.
- cookhub — Pull and parse recipes from GitHub repositories.
- cooklang-to-md — Cooklang → Markdown. Rust.
- cooklang-epub — Cooklang → EPUB. Go.
- cookbook-creator — Render a folder of
.cookfiles into a PDF cookbook via CookCLI's LaTeX output. - cooklang-sankey — Build Sankey diagram data from a recipe.
- cooklang-skills — Skills for Claude and Codex agents: create, import, validate, scale, meal-plan, manage a pantry, and export Cooklang recipes from inside an agent session.
Separate specifications and tools designed to compose with Cooklang.
- nutrition-rs — Plaintext nutrition-tracking spec and CLI; ingests Cooklang shopping lists via
--from-cook. Rust.
- VS Code extension — Syntax highlighting, validation, autocomplete.
- Endless Bounty — Farmers-market-inspired VS Code colour theme tuned for
.cookfiles. - Cooklang for Obsidian — Recipe preview, interactive timers, shopping checklists inside Obsidian.
- tree-sitter-cooklang — Tree-sitter grammar. Wire it into Neovim, Helix, Zed, or Emacs.
- cooklang-language-server — LSP server. Works in any LSP-aware editor.
- homeassistant-cookcli — Home Assistant custom component. Meal-plan calendar, shopping list as a Todo entity, pantry sensors, recipe stats. HACS-compatible.
- Raspberry Pi kitchen display guide — Build a touchscreen kitchen display backed by CookCLI.
- Sync Agent — Lightweight desktop sync service that keeps a recipe folder in sync with the iOS and Android apps.
- Federation — Run your own federated recipe search node.
- CookCLI server — Self-host a private recipe web UI with
cook server ./recipes. - cooklang-shopper — Self-hosted Nuxt app to manage recipes, build shopping lists, and send matching products to an online store cart. Alpha.
- Cooklang Specification — Reference grammar and conventions.
- EBNF definition — Formal grammar.
- Canonical test suite — Conformance tests every parser should pass.
- Designing a Recipe Markup Language — How and why Cooklang exists.
- Cooking for Programmers — Why developers like plain-text recipes.
- Why Plain Text Recipes — Long-form rationale.
- Building a Recipe API with Cooklang — End-to-end developer walkthrough.
- Parser Integration Guide — Embedding a Cooklang parser in your app.
- Editor Setup — Configuring VS Code, Obsidian, Vim, and others.
- Discord — Community chat.
- Cooklang on GitHub — Official organisation.
Submissions welcome — please read CONTRIBUTING.md first.
To the extent possible under law, contributors have waived all copyright and related rights to this work.