Brainfuck implementations

This is a list of brainfuck implementations.

Normal implementations

 * Original distribution by Urban Müller from the AmiNet archive. Includes interpreter and compiler for the Amiga. The interpreter can be compiled with gcc by removing line 43, which says chkabort;. The associated readme file might also have some historical interest.
 * Visual brainfuck, a brainfuck IDE compatible with Windows 7 x86 and x64.
 * BlueFern is the first (2003) Brainfuck IDE. Supports conversion to arbitrary languages, graphical view of the stack, compiling to .exe or TI-89 graphing calculator assembly, step-through debugging, syntax highlighting, optimized compiling, and other features.
 * The Parrot VM also implements Brainfuck (bf) "Dormant Language".
 * Brainfuck Developer is a comprehensive Brainfuck IDE for Windows supporting pbrain.
 * Brainfuck Machine - is a Brainfuck IDE for Windows with build-in compiler, converter to Perl, C, Pascal, Delphi and other features.
 * Online Brainfuck Interpreter made with PHP.
 * Open Source Brainfuck Compiler made with PHP5.
 * YABI a very simple Brainfuck interpreter written in C.
 * A Brainfuck compiler and editor for Windows.
 * A Brainfuck interpreter written in Ruby.
 * BF Programs Java BF debugger, Basic compiler, bootstrapped assembler, genetic text generation.
 * Brainfuck for Pharo is a Smalltalk implementation written in Pharo (but also Squeak compatible) by Bernat Romagosa.
 * Brainfuck debugger, another online interpreter, with step by step debugging.
 * . May also work with other HP calculators.
 * Brainfuck interpreter in Redcode.
 * The Brainf*ck Compiler Project. Assembler and C-like language that both compile to BF.
 * BEF*, the Brain Editor And Fucker, which is a BF interpreter written for TECO. The slim documentation can be found here and the commented version of the source here.
 * iHeadAche is an implementation of Brainfuck for PalmOS.
 * FuckBrainfuck. A language that compiles directly to brainfuck.
 * RCBF, a set of Brainfuck interpreters and compilers written in different languages.
 * Naerian's Brainfuck, a superset of BF with some special functionalities like Pbrain-like procedures, randomizing a cell value etc.
 * - an obfuscated brainfuck interpreter written in C. The actual brainfuck code is on the line starting with #define b, inside the strings.
 * Aradia's Online qBrain Interpreter.
 * esco - universal interpreter of esoteric languages.
 * A tiny (600B) BF interpreter.
 * Big Python 300 (BFP300) -- A 300B BF interpreter written in Python.
 * BF6502A2 - A nano 135 byte (!) Brainfuck interpreter for the Apple &#x005D;&#x005B; //e.
 * Erlang Brainfuck Interpreter - An interpreter written in Erlang, with unbounded memory left and right, using a formal grammar for yecc.
 * - Another interpreter written in Erlang, supporting way too many options.
 * BrainFlash, the AS3 Brainfuck interpreter - A Brainfuck interpreter written in ActionScript3 as a class that can be used for ByteArray manipulation. It can only take static inputs.
 * Brainfuck interpreter written in DLX, a simplified assembly language for Computer Science courses.
 * hxBF Brainfuck interpreter written in haXe, which can be compiled to Flash/JS/PHP/C++/neko.
 * BF2C, a Brainfuck to C compiler by User:Madk.
 * Mindfuck, a Brainfuck interpreter, written in Python.
 * esolang, Brainfuck interpreter for iphone written in objective C.
 * Hugi Size Coding Compo #6, various tiny Brainfuck interpreters for MS-DOS, the smallest one having only 98 bytes (the file is ).
 * Brainfuck Java, an interpreter for the Brainfuck language and its dialects written in the Java programming language.
 * Fudging up a Racket, a Racket implementation of a Brainfuck compiler for Racket, along with a tutorial on Racket's language extension layer.
 * HsBfC, a Brainfuck to C compiler written in Haskell.
 * Brainfuck, an interpreter for the Brainfuck language written in the C language.
 * Brainfuck MediaWiki Extension, an implementation as extension for MediaWiki platform (also can be used in any PHP application).
 * Brainfuck IDE, a web-based interpreter/debugger coded in Javascript.
 * LuaBrainFuck, a Brainfuck interpreter in Lua, with optional support for Morse and bracket syntaxes, and special quine support.
 * , bffsree_ref is a fast simple reference implementation with source, and binaries for Windows and Linux.
 * bfer, bfer is a Brainfuck to LLVM compiler written in Erlang.
 * BF Compiler Tutorial A brainfuck compiler tutorial using LLVM written in C++.
 * A BF compiler with source code. Creates x86 executables for Linux from BF source code. May be portable to other platforms.
 * Portable Brainfuck Compiler for Linux and others.
 * BF for WP is a visual brainfuck interpreter for Windows Phone. Source code for the app is available.
 * Brainwash is a brainfuck interpreter for Windows Phone which supports step by step execution and breakpoints.
 * shellfuck A brainfuck interpreter written in shell script.
 * zxBrainfuck An interpreter written in Z80 Assembly for the ZX Spectrum.
 * Brainfucked A Brainfuck interpreter written in JavaScript with optional minor optimizations.
 * GoFuck A Brainfuck interpreter written in Go.
 * bfng ( aka Brainfuck-ng ) is a powerful interpreter of a superset of brainfuck language. It is full compatible with brainfuck, and has in addition some enhancements.
 * Brainfuck interpreter online written in JavaScript with nice library of programs.
 * An interpreter in C, written to exploit the auto-growing stack space on Linux x86/64 in an entirely undefined and illegal manner which nonetheless happens to work with several compiler/computer combinations.
 * An interpreter written in msp430 assembly which runs in the MicroCorruption simulation game.
 * An interpreter written in 26 lines of J, excluding comments.
 * TIBrain is a interpreter that runs Brainfuck on the TI graphing calculators.
 * brainfuck is a simple brianfuck interpreter written in c.
 * Brainfuck interpreter written in C#
 * bf core is compact (69 bytes) brainfuck core implementation written in x86 asm.
 * BFCompile is a compiler that compiles BF code into a binary executable using gcc and Ruby.
 * Hugi Size Coding Competition #6 - The "Brainf*** Interpreter" Compo, golfed Brainfuck implementations
 * A brainfuck interpreter written in PHP
 * bfinterpreter A brainfuck interpreter written in Java with 3 modes of operation - file-mode, debug-mode and repl-mode.
 * Win32 Compiler is a simple C implementation that directly produces windows executable.
 * Perl implementation in MirBSD base, originally by Marko Nippula, fixed by mirabilos (documentation)
 * BF IDE, commercial Brainfuck IDE for Mac OS
 * Interpreter in SQLite by Gary Briggs from 2018-02.
 * Perl implementation in MirBSD base, originally by Marko Nippula, fixed by mirabilos (documentation)
 * BF IDE, commercial Brainfuck IDE for Mac OS
 * Interpreter in SQLite by Gary Briggs from 2018-02.

Optimizing implementations

 * Also Written In Brainfuck (Awib) is an optimizing brainfuck compiler written in brainfuck for Linux on i386.
 * bfc has a very large suite of optimizations and compiles using LLVM
 * bfca is an optimizing Brainfuck compiler, targeting ARM devices, outputting optimized code with as few memory accesses as possible. It is itself written in ARM assembly, and works with all ARMv6 - ARMv8 devices with a C library.
 * Optimizing BF interpreter is a very fast C interpreter, fastest in its class.
 * Moderately-optimizing BF interpreter is a portable C interpreter, second fastest in its class.
 * BF Online, an optimizing brainfuck interpreter made with Javascript.
 * bfdb, an optimizing Brainfuck interpreter, debugger and compiler.
 * Hamster - a highly optimizing, well-commented, modular BF compiler written in Scheme, currently compiling to 6 different target languages (C, Java, MIPS, x86 Masm, LLVM, IR).
 * Debuggable Brainfuck interpreter is a fast interpreter and compiler, it can output debug information at runtime.
 * C Translator - A flexible brainfuck to ANSI C translator. It tries to optimize rendered code (in case your compiler doesn't).
 * Optimizing i386 Brainfuck Compiler - An Optimizing i386 Brainfuck compiler (GNU Assembler/YASM compatible code generator) and Brainfuck interpreter written in C.
 * Esotope Brainfuck compiler is an optimizing Brainfuck-to-C compiler written in Python, which performs several state-of-the-art optimizations.
 * BF to COM compiler is an optimizing Brainfuck to COM executables compiler. With safe "<" and ">" operators. Written in C++. Sources included.
 * Brainfuck (Devbar) is another Javascript based compiler with a "code kitchen" to archive community programs.
 * Le Brainfuck - yet another interpreter written in Javascript. Optimizes the code and runs it in a worker thread -> no browser lag.
 * FBI is an optimizing brainfuck interpreter by David Catt (user:David.werecat). C sources and binaries for Windows and Linux (both 32 and 64 bit) are included.
 * bffsree is a faster optimizing brainfuck interpreter by Sree Kotay (user:Sreekotay). Binaries for Windows and Linux are included.
 * bf-li is a moderately optimizing yet very fast brainfuck interpreter by Laurent Vogel (user:lvogel), which compiles bf to assembler code at runtime using the GNU lightning library.
 * Beefit is an optimizing, fast brainfuck JIT interpreter by Ryan Hitchman which creates machine code at runtime using DynASM.
 * ssbi is an optimizing, fast brainfuck interpreter which performs most of state-of-the-art optimizations. It is fully written in Scala and its source code is available.
 * deadbeef is a small but rather quick interpreter in pure ANSI-89 C.
 * Tritium is a very heavily optimising (for brainfuck) Interpreter/Compiler/JIT runner that outperforms the rest (only libbf is close). Uses DynASM and/or GNU Lightning (v1 or v2) if available; eg: on Linux, FreeBSD, x86, amd64, powerpc etc. (Also Windows)
 * libbf, a library containing several interpreters, compilers and optimizers.
 * SBFI (Simple BrainFuck Interpreter) is a simple, yet very fast interpreter written in C by Maxime Rinoldo (User:Maxdefolsch). It is currently one of the fastest (non-JIT) Brainfuck interpreters.
 * JFlick is a very fast interpreter written in Java which performs many advanced optimizations.
 * Najtingalo is an optimizing Brainfuck to JavaScript compiler written in JavaScript.
 * This page has a brainfuck to 6502 assembly (commodore 64) Ada, X86 assembly, ARM assembly, Arduino, bash-script, c++, c#, cobol, go, java, javascript, lua, Z80 assembly (MSX), pascal, perl 5/6, php, pl/1, python, ruby, rust, scala and sdlbasic compiler.
 * AshBF is a portable, fast optimizing brainfuck interpreter built on a custom virtual machine written in C++14.
 * brainwebfuckassembly converts brainfuck to webassembly which is the JITed by the browser
 * Jelly is another optimizing Brainfuck to WebAssembly compiler written in JavaScript which runs natively in the browser.

Implementations including Hardware

 * The Brainf*ck CPU Project is a VHDL implementation of a brainfuck CPU
 * BFCPU An FPGA-targeting brainfuck processor design, "implemented" in Python with MyHDL.


 * The Brainfuck Computer is a tiny interpreter written in assembler and burnt into the 64 byte ROM of a PIC16F84A.
 * BrainDuino - Atmel based Brainfuck physical computer is a brainfuck interpreter in C with an Arduino CPU