Specification of an XML format for the exchange of cooking recipes, ingredient information and menus between different programs and countries

Revision: 1.1.2
Last release: 2006-09-16
Authors Jochen Herz, Roland Jesse, Ralf Kürbitz, Rolf Wilhelm, Robert Freitag, Uwe Klatt, Werner F. Bruhin
Original Translation Werner F. Bruhin

CookML is the description of a recipe exchange format, which allows the exchange of a comprehensive set of data between different programs.

CookML was created out of the need to be able to transfer all available recipe data of the recipe program Kalorio. One possible opotion was MealMaster (a text format definition) that is widely used and is easy to read, however it allows only the transfer of very basic recipe data.

CookML was defined through an open discussion between a number of software developers of recipe and catering trade software applications to ensure that the format would allow the exchange of recipe data between different programs and would not become an isolated solution for one program.

The basis for CookML is XML (Extensible Markup Language, a W3C standard). Its open format provides the possibility to exchange any type of additional information for a recipe between users of different recipe software applications. This format allows for the inclusion of images with the recipe, menus and to assign a „Bundeslebensmittelschlüssel“ code (BLS, a German definition for ingredients and production) to ingredients.

CookML is provided free of charge. Any programmer is allowed, even encouraged, to use the format in his program, project, tool or internet portal.


The full CookML definition and more information can be found here: