Skip to content
All tools
EncodingRuns locallyNo account

Brainfuck and esolang decoder

Run Brainfuck, Ook!, Befunge, Whitespace, Deadfish, and friends. Esolangs are a recognition problem more than an execution problem.

Open in ctfpal

Esoteric languages show up in CTF as a recognition puzzle: the hard part is knowing that a page of +, -, >, <, [, ] is Brainfuck rather than an encoding, after which running it is mechanical.

The reason they appear at all is that they defeat pattern matching without defeating anyone who recognises them. A grader scanning for Base64 or hex sees nothing; a competitor who has met Brainfuck once solves it in seconds. So the practical skill is a lookup table in your head - a handful of visual signatures, each mapping to a language with a well-known interpreter.

Signatures

Looks likeLanguage
+-<>[]., onlyBrainfuck
Ook. Ook? Ook!Ook! - Brainfuck with three tokens
Only spaces, tabs, newlinesWhitespace - invisible in most editors
A 2D grid with >v<^ and @Befunge
iids repeatedDeadfish

Worked example

Brainfuck

Input

++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.

Result

Hello

The canonical loop-based Hello World. The `.` characters are the output instructions.

Load this example in the workspace

Related tools