A list of emulators written in the JavaScript programming language
Failed to load latest commit information.
README.md Remove all Twitter mentions in README Feb 9, 2017


Emulators written in JavaScript

A list of emulators written in the JavaScript programming language.

This list started as a compilation of JavaScript emulators posted to Echo JS over the years. If you know about any missing emulators, please consider adding them to the collection: the source for this page is available on GitHub. Thank you in advance.

Lastly, if you are into JavaScript, you might enjoy Echo JS.



  • CPCBox - Amstrad CPC emulator in JavaScript
  • Roland - An Amstrad CPC emulator written in JavaScript
  • See also YAKC






Robotron / VEB Mikroelektronik

  • KC85_Emu - KC85/3 and KC85/4 emulator by Alexander Lang
  • YAKC - Yet Another KC emulator by A.Weissflog (KC85/2..4, KC87, Z9001, Z1013, also Amstrad CPC, Sinclair Spectrum and Acorn Atom.)




Multi-system Emulators

  • JSMESS examples - The JavaScript MESS (Multi Emulator Super System) (Source) (Notes)
  • PCE - PC emulators in JavaScript (Atari ST, IBM PC 5150, Macintosh, RC759 Piccoline)
  • RetroArch - JavaScript port of RetroArch (bundles Gambatte (Gameboy), Genesis Plus GX, Handy (Lynx), Snes9x Next, VBA Next (GameBoy Advance), Tyrquake and FinalBurn Alpha)
  • RetroWeb - collection of Javascript emulators and boot media, including Apple-IIe (VisiCalc), Macintosh (System 1.0), Atari 1040ST, Commodore 64, Amiga 500 (Workbench 1.3), IBM PC Model 5150 (PC-DOS, CP/M-86, Cassette Basic), IBM PC XT (DOS, GEM 1.2, VisiCalc, Windows 1.01, 8088 Corruption demo), RC759 Piccoline (Eliza, Bil-simulation, Concurrent CP/M-86), TRS-80.

PC Emulators

  • JS/Linux - JavaScript PC emulator
  • JsDOSBox - JavaScript PC DOS emulator (Source)
  • PCjs - IBM PC Model 5150 emulator
  • Virtual x86 - An x86 emulator written in JavaScript (Source)
  • jemul8 - An object-oriented JavaScript x86 emulator for Node.js and the Browser (Source)
  • jsbochs - Bochs PC emulator for the Browser (Source)

Bare CPUs

  • 8008 running SCELBAL by Mark G. Arnold. ("SCELBAL is the only open-source, floating-point, high-level language ever implemented on the 8008")
  • 8080 CPU emulator - Intel 8080 CPU emulator running Space Invaders ROM (Source)
  • Angel - JavaScript RISC-V ISA simulator booting linux in a web-browser (Source)
  • Angular 2 6502 written with TypeScript and Angular 2, by Jeremy Likness
  • ARM-js - An ARM emulator written in JavaScript (Source)
  • ASM80 - Online assembler for 8-bit microprocessors by Martin Malý. Includes emulation of several machines: 8080, Z80, 6502, 6809. (Sources)
  • Basic MIPS functional simulator and Basic MIPS pipelined simulator by Mianzhi Wang (morriswmz). (Source)
  • Easy6502 - JavaScript 6502 tutorial and emulator (Source)
  • EduMIPS64 - educational MIPS64 CPU, ported from Java by Andrea Spadaccini using GWT (see blog here.) (Source)
  • Imaginary 6502 - 6502 Emulator and Assembler
  • Intel 4004 emulator - by Maciej Szyc. Includes assembler and disassembler.
  • Intel 8080 CPU Emulator - Emulates a minimal Intel 8080 Microcomputer that runs CP/M
  • JavaScript 8080 Emulator - 8080 arcade game emulator in JavaScript
  • RISCVEMU - RISC-V emulator boots 64-bit Linux. By Fabrice Bellard.
  • Simple 8-bit Assembler Simulator - Provides a simplified assembler syntax (based on NASM) and is simulating a x86 like CPU (Source)
  • Unicorn.js - The Unicorn emulator framework, now available for JavaScript (Source)
  • Visual ARM1 - JavaScript/WebGL for ARM's first CPU, modelling 25000 transistors at switch level and animating the original chip layout - in 3D. See the blog post
  • Visual 6502 - JavaScript simulator for the 6502 CPU, modelling thousands of transistors at switch level and animating the original chip layout. See also expert mode.
  • Visual 6800 - JavaScript simulator for the Motorola 6800 CPU, modelling thousands of transistors at switch level and animating the original chip layout.
  • Visulator - x86 machine emulator that visualizes how each instruction is processed (Source)
  • YAMD - Yet Another MIPS Debugger (Source)
  • jor1k - OpenRISC OR1K JavaScript emulator running Linux with network support (Source)
  • jslm32 - JavaScript LatticeMico32 emulator running Linux (Source)

Early machines

Calculator emulators

Microcode-level calculators

Workalike calculators

  • HP-11C, HP-12C Platinum, HP-16C - by Elvis Pfützenreuter
  • HP-15C - by Greg Hewgill. (Source)
  • HP-21 and HP-29 by Greg Sydney-Smith (See here and here)
  • HP-25 - by John Clenance
  • HP-35 - JavaScript emulator by Neil Fraser
  • HP-35 SOS - modified HP-35 with stack overflow sensing LED, by Hans Klaver, based on Fraser's work
  • HP-48 - JavaScript implementation of the most commonly used HP-48 functions. More info here, by Josh Poley


Adventure Game Engines

  • Emscripten ScummVM - Emscripten fork of the ScummVM engine (Source)
  • IFVMS - Infocom/Inform Web interpreter
  • Parchment - Infocom/Inform Web interpreter
  • ZZTJS - ZZT game engine in JavaScript
  • ngPAWS - Professional Adventure Writer (PAW) Web interpreter

See also (lists of JavaScript emulators elsewhere)

Additional Information

This resource collection is maintained by Frederic Cambus.



To the extent possible under law, Frederic Cambus has waived all copyright and related or neighboring rights to this work.