Tool to decode/encode in Brainfuck, an esoteric programming language consisting of characters like ++++---[+++].
Brainfuck - dCode
Tag(s) : Programming Language
dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!
A suggestion ? a feedback ? a bug ? an idea ? Write to dCode!
Brainfuck (or BF or Brainf**k) is a minimalist programmation language that uses only eight commands to manipulate memory and perform operations.
It takes its name from two words brain and fuck, that refer to a kind of major frustration for your brain (or cerebral masturbation).
The Brainfuck works like a Turing Machine, with a read/write head (pointer) that manipulates a buffer. The 8 possible machine operations are:
— > : increment the pointer position (+1),
— < : decrement the pointer position (-1),
— + : increment the byte in the memory cell where the pointer is located,
— - : decrement the byte in the memory cell where the pointer is located,
— . : send the value of the pointed byte as output (treated as an ASCII value),
— , : insert an input byte (user input) in the memory cell where the pointer is located (ASCII value),
— [ : if the pointed byte is 0 then jump to instruction after the corresponding ],
— ] : if the pointed byte is not 0 then jump to the instruction after the corresponding [
Brain Fuck is not a proper encryption system, but rather an obfuscated/unreadable programming language.
Brainfuck encoding consists in writing machine code (input) that returns text as output.
In practice, increment the pointer memory box to the desired ASCII value and display the corresponding character as output.
Example: The code consisting of 36 + followed by 1 point '++++++++++++++++++++++++++++++++++++ +.' displays $ (Dollar symbol, ASCII code 36)
In order to shorten the code, an alternative syntax exists (shortcut BF) that uses i for increment, d for decrement, r for right, l for left each associated to a number to indicate the repetition of the operation. It allows to gain in compactness and slightly in readability of the code.
Example: i4 for ++++ (+ 4 times), d3 for --- (- 3 times), r5 for >>>>>, l4 for <<<<
Once again it is not an decryption but rather an interpretation of the code (or brainfuck translator that turn brainfuck to text).
With an interpreter and a brainfuck compiler, each byte send as output is then a plain text character.
Replace iX, dX, rX and lX by respectively +, -, >, < X times to get back the original BF code.
The message is composed of the 8 characters ><+-.,[] (opening chevron, closing chevron, plus, minus, point, comma, open bracket, closing bracket)
The character [ should appear as many times as the character ]
The characters + and - are the most common and usually appear to +++ group or ---. It makes little sense (but possible) to have + and - consecutively.
The characters . and , are less frequent.
All references to brain, skull, mind or headache are clues.
The brainfuck manipulates a buffer strip, the memory state is the contents of this memory.
dCode offers the display of the memory buffer in table form: [position] = character (ASCII code)
Many variants of brainfuck have become esoteric languages (esolang) such as Alphuck, Binaryfuck, Ook, Blub, Pikalang, Reversefuck or Spoon.
Brainfuck is never used as a language in real development projects due to its complexity and lack of features.
However it is sometimes used for educational purposes, to teach programming concepts such as memory manipulation, loops and conditional jumps.
It can also be used as a challenge for programmers wanting to test their skills and understanding of fundamental programming concepts.
BF language was created by Urban Müller in 1993.
dCode retains ownership of the "Brainfuck" source code. Any algorithm for the "Brainfuck" algorithm, applet or snippet or script (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, breaker, translator), or any "Brainfuck" functions (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) or any database download or API access for "Brainfuck" or any other element are not public (except explicit open source licence like Creative Commons). Same with the download for offline use on PC, mobile, tablet, iPhone or Android app.
Reminder: dCode is an educational and teaching resource, accessible online for free and for everyone.
The content of the page "Brainfuck" and its results may be freely copied and reused, including for commercial purposes, provided that dCode.fr is cited as the source.
Exporting the results is free and can be done simply by clicking on the export icons ⤓ (.csv or .txt format) or ⧉ (copy and paste).
To cite dCode.fr on another website, use the link:
In a scientific article or book, the recommended bibliographic citation is: Brainfuck on dCode.fr [online website], retrieved on 2025-04-15,