CookLang – Recipe Markup Language

CookLang is a markup language at the center of our open-source ecosystem for cooking and recipe management.

CookLang and the tools we’ve built to use it, you can:

  • simplify your personal recipe management;
  • streamline your shopping routine;
  • make cooking more fun.

Here’s how the CookLang ecosystem makes that happen:

  • All recipes are human-readable text files.
  • Everything is a file. No databases. And you have complete control over your information.
  • All the tools are simple, focused, and efficient; the UNIX way.

Getting Started

Create a recipe file, where each line is a step in the recipe. Tag your ingredients with @ and {}, then save your file. For a complete reference on CookLang, see the language specification page.

Then add @salt and @ground black pepper{} to taste.

Poke holes in @potato{2}.

Place @bacon strips{1%kg} on a baking sheet and glaze with @syrup{1/2%tbsp}.

Install a recipe viewer. We support a few tools for viewing CookLang recipes:

Cook something! Open a recipe on your viewer of choice, whip out the ingredients, and make something tasty.


The Cook CLI command line program provides a suite of tools to create shopping lists and maintain recipes. We’ve built it to be simple and useful for automating your cooking and shopping routine with existing UNIX command line and scripting tools. It can also function as a webserver for your recipes, making them browsable on any device with a web browser.

# create sample recipes
cook seed

# check content of "Neapolitan Pizza" recipee
cook recipe read "Neapolitan Pizza.cook"

# create a shopping list for all sample recipes
cook shopping-list .

iOS app

We created the iOS app to assist you while cooking, shopping, and meal planning. Simply connect the app to your iCloud, open a recipe, and start cooking.

Recipes Recipe Shopping list