beancode logo

Beancode Web is a 100% Free and Open Source, fully browser-local Online IDE for
IGCSE/O-Level Pseudocode and Python!

Go to editor Go to project GitHub

This is essentially the flagship IDE/a front-end for the beancode project, a 100% syllabus-compliant Pseudocode implementation written in standard Python 3.10+, with utilities and extension features!.

About

This is a web IDE for Pseudocode and Python. Here are some major features:

  • It supports the 0478, 2211, and 0984 IGCSE/O-level syllabi, NOT A-LEVEL!
  • It supports lowercase keywords to make typing easier :D
  • It contains a built-in formatter, which prettifies your Pseudocode, just like in the textbook. Simply press the format button, and you're off. It will convert lowercase keywords to uppercase!
  • It contains a tracer, which generates trace tables!
  • Since beancode (the interpreter itself) is written in Python, we bundle a Python interpreter as well, meaning that you can code in Python too! Note that formatting and tracing do not work when editing Python.

This tool is designed to be as straightforward as possible for teachers and students, and to hit as many use-cases as possible. If there are concerns, suggestions or feature requests, please send me an email or send a bug report on GitHub! Spam is not appreciated.

Editor Features

  • Both light and dark modes are available, for now based on Catppuccin Latte and Macchiato respectively.
  • There is syntax highlighting and basic autocomplete thanks to CodeMirror.
  • There is a built-in UNIX-style terminal thanks to Xterm.js, with full escape sequence support!
  • There is also a file browser, emulating a UNIX-style file system. Downloading and uploading files works just fine!

How it works

Beancode web does not rely on typical techniques of sending code to a remote server and running it. Instead, all code execution is done with WebAssembly technology™, meaning that the Python interpreter runs directly in the web browser, and no data is sent to remote servers. This is also the case for beancode, which uses Python. The only network activity is on launch, where the Python interpreter is loaded from the Pyodide Website.

The Pseudocode interpreter itself runs within Python (as mentioned before). When you type code into the code editor and run it, it sends the code you wrote to a background web worker(completely local, again), which runs your code.

Your code is also stored locally in IndexedDB with IDBFS, which are fancy terms for; it is all stored in your browser. Note that beancode web will ask you for persistent storage, as that is integral to storing your code safely. If you do not grant access, your settings and code may mysteriously vanish.

Credits

Despite my tireless work on the web IDE (sacrificing my entire winter break), I still used libraries that I did not make, and I'd like to thank these people for writing awesome software that this project could not have existed without:

This website is copyright © Eason Qin (ezntek), 2026 (eason@ezntek.com)