Fun Translations
Login
Fun Translations
Toggle sidebar
Chef Programming Language Translator — English to Chef Recipe Code

Chef Programming Language Translator — English to Chef Recipe Code

Translate English text into Chef, the esoteric programming language created by David Morgan-Mar where every program is a valid cooking recipe. Each character becomes a food ingredient (e.g. haricot beans = H, eggs = e, lard = l), and the generated recipe is genuine executable Chef source code — paste it into any Chef interpreter and it will print your original message. Reverse translation executes Chef programs back to text.

Enter your text
Reverse Translation

Enter some text and click Translate to see the result

What Is the Chef Programming Language?

Chef is an esoteric programming language created by David Morgan-Mar in 2002. Its central constraint is that every valid program must also read as a plausible cooking recipe — complete with a title, an ingredients list with quantities, and a method written in culinary prose. Variables are ingredients, stacks are mixing bowls, output buffers are baking dishes, and the program terminates with Serves N.

Despite the whimsical surface, Chef is Turing-complete. Loops are written as Verb the ingredient / Verb the ingredient until verbed, arithmetic uses Add, Remove, Combine, and Divide, and subroutines are auxiliary recipes that can call each other. A Chef program can compute anything a conventional language can — it just looks like it belongs on a restaurant menu.

The Chef Instruction Set

Chef programs operate on one or more numbered mixing bowls (LIFO stacks) and baking dishes (output buffers). Ingredients hold numeric values; liquefied ingredients output as ASCII characters, dry ingredients as raw numbers.

Instruction What It Does
Put X into mixing bowlPush ingredient X onto the mixing bowl stack
Fold X into mixing bowlPop top of mixing bowl into ingredient X
Add X to mixing bowlAdd X's value to the top of the mixing bowl
Remove X from mixing bowlSubtract X's value from the top of the mixing bowl
Combine X into mixing bowlMultiply top of mixing bowl by X
Divide X into mixing bowlDivide top of mixing bowl by X (integer)
Liquefy XMark ingredient X as character-mode output
Liquefy contents of mixing bowlMark all items in bowl as character-mode
Pour contents of mixing bowl into baking dishCopy entire mixing bowl onto the baking dish
Serves NPrint baking dish top-first and end the program
Verb the ingredientLoop start — skip to matching close if ingredient = 0
Verb the ingredient until verbedLoop end — jump back to open if ingredient ≠ 0
RefrigerateOutput baking dish and halt immediately

Ingredient Vocabulary — Characters as Food

Each character in your text maps to a named food ingredient whose quantity equals the character's ASCII value. The translator uses a fixed, canonical ingredient list so that every program it generates is human-readable and consistent. Here are some of the most common mappings:

Character ASCII Ingredient
H72haricot beans
e101eggs
l108lard
o111oil
W87walnuts
r114raisins
d100dark rye flour
(space)32greens
!33anise seeds
a97apple juice
s115salt
t116tarragon

Chef and the Esolang Tradition

Chef belongs to a lineage of deliberately constrained programming languages that began with Brainfuck (Urban Müller, 1993) and includes COW (moo-based Brainfuck), Chicken (unary chicken-word encoding), Whitespace (only spaces and tabs are significant), and Malbolge (designed to be unprogrammable). What sets Chef apart is its aesthetic dual-use: a well-written Chef program can pass as an actual recipe, and David Morgan-Mar's original specification even recommends that authors ensure their programs are gastronomically plausible.

The language has attracted a dedicated community of programmers who write both functional programs and genuinely edible recipes — a subset of the esolang world that takes the culinary constraint seriously. Morgan-Mar himself later created Piet (programs as abstract pixel art) and dozens of other esolangs, cementing his reputation as one of the most imaginative figures in the field.

How This Chef Translator Works

This translator converts any English text into a complete, valid Chef recipe program. Each unique character in your input is assigned a food ingredient whose quantity equals the character's ASCII value. Characters are then pushed onto the mixing bowl in reverse order — so that when the bowl is served (top-first), the output appears in the correct reading order. The recipe ends with Liquefy contents of the mixing bowl (so all values output as characters rather than numbers) followed by Serves 1.

The translator also works in reverse: paste any Chef program into the input box and it will execute it, returning the output. The built-in interpreter supports the full core instruction set including arithmetic, mixing-bowl stacks, baking-dish output buffers, liquefaction, and loops. The translation API is available for developers who want to integrate Chef encoding into their own applications.

Put haricot beans into the mixing bowl. Put eggs into the mixing bowl. Liquefy contents of the mixing bowl...

Try Other Translators