An interactive browser guide to the ESP32-S3 with 32 labs, live simulators, a pinout, a firmware code reader and a datasheet section.
pfalstad/circuitjs1
An electronic circuit simulator that runs in the browser, letting you build and simulate analog and digital circuits interactively.
Open-source alternative to:Falstad Circuit Simulator
Tinkercad Circuits
- Stars
- 2,455
- Forks
- 442
- Open issues
- 86
- Last commit
- 4 days ago
What is it?
CircuitJS1 is an interactive electronic circuit simulator that runs entirely in the browser. Users place components, wire them together and watch voltages and currents update live, which makes it useful for learning circuit theory or quickly checking a design idea without installing desktop software.
The project began as a Java Applet by Paul Falstad and was later ported to run in the browser using GWT, with TypeScript and Vite now used for development. The web app can also be packaged as an Electron desktop application or deployed as a versioned static site, and it can be embedded in other pages through an iframe or driven from JavaScript.
Circuits can be loaded and shared through URL parameters, bundled example files, or local file import and export. Display options such as color schemes, conventional current direction and US or Euro resistor styles can be set through query parameters.
Key features
- 01Runs in the browser with no installation required.
- 02Simulates analog and digital circuit components with live voltage and current display.
- 03Supports importing and exporting circuit files and loading circuits from URLs.
- 04Can be embedded in web pages via iframe or controlled through a JavaScript interface.
- 05Available as a self-hosted build or an Electron desktop app.
Use cases
- Learning circuit theory or electronics in a classroom or self-study setting.
- Quickly prototyping and checking a circuit design before building hardware.
- Embedding an interactive circuit demo in course materials or a website.
- Sharing circuit designs as links or files with colleagues and students.
Quick start
- 1
Install Node.js (includes npm) from nodejs.org
- 2
Change into the ts folder and install dependencies
cd ts && npm install - 3
Start the local dev server
npm run dev - 4
Open http://localhost:5173/circuitjs.html in your browser
Things to know
- Requires Node.js and a local build step; there is no packaged download in the README.
- Electron packaging relies on an older Electron version (9.3.2) and a 'Create short URL' feature does not work in the desktop app.
In collections
Topics
FAQ
- What is circuitjs1?
- An electronic circuit simulator that runs in the browser, letting you build and simulate analog and digital circuits interactively. CircuitJS1 is an interactive electronic circuit simulator that runs entirely in the browser. Users place components, wire them together and watch voltages and currents update live, which makes it useful for learning circuit theory or quickly checking a design idea without installing desktop software.
- Is circuitjs1 free to use? What license does it have?
- circuitjs1 is open source under the GPL-2.0 license. Check the license terms before using it in commercial products.
- Is circuitjs1 still maintained?
- Actively maintained. The last commit to circuitjs1 was on Nov 3, 2026.
- What can I use circuitjs1 for?
- Learning circuit theory or electronics in a classroom or self-study setting. Quickly prototyping and checking a circuit design before building hardware. Embedding an interactive circuit demo in course materials or a website. Sharing circuit designs as links or files with colleagues and students.
- How do I install circuitjs1?
- Install Node.js (includes npm) from nodejs.org Change into the ts folder and install dependencies: cd ts && npm install Start the local dev server: npm run dev Open http://localhost:5173/circuitjs.html in your browser
- Where can I get circuitjs1?
- The source code and installation instructions are on GitHub: https://github.com/pfalstad/circuitjs1
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A visual RISC-V computer architecture simulator and assembly editor for studying how processors execute code.
A browser-based robotics simulator that runs Ev3dev-style code for educational robots, so you can practice without owning a robot.
An interactive, cyberpunk-styled periodic table of all 118 elements with 3D orbital models, heatmaps and bilingual UI, built with TypeScript and Vite.
A browser-based universal file converter that runs conversions locally, able to convert between formats across different media types.
A sandboxed WebAssembly runtime for running code in multiple languages in the browser, on Node, or through an MCP server.