Brainfuck and esolang decoder
Run Brainfuck, Ook!, Befunge, Whitespace, Deadfish, and friends. Esolangs are a recognition problem more than an execution problem.
Open in ctfpalEsoteric 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 like | Language |
|---|---|
+-<>[]., only | Brainfuck |
Ook. Ook? Ook! | Ook! - Brainfuck with three tokens |
| Only spaces, tabs, newlines | Whitespace - invisible in most editors |
A 2D grid with >v<^ and @ | Befunge |
iids repeated | Deadfish |
Worked example
Brainfuck
Input
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.Result
HelloThe canonical loop-based Hello World. The `.` characters are the output instructions.
Load this example in the workspaceRelated tools
Cipher identifier and automatic decoder
Paste anything and find out what it is. ctfpal runs every decoder and rotation, including multi-pass cascades, and ranks results by English-likeness and flag patterns.
Zero-width character and text steganography decoder
Reveal messages hidden in zero-width Unicode characters, trailing whitespace, and homoglyph substitution - text steganography that survives copy-paste.
Binary to text converter
Convert binary (and decimal codepoints) to text and back. Handles 7-bit and 8-bit groupings, arbitrary separators, and reversed bit order.
Base64 decoder and encoder
Decode and encode Base64 and Base64-URL in the browser, with padding repair and automatic detection of nested encodings. Nothing is uploaded.