Repolode
pfalstad

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 SimulatorTinkercad 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. 1

    Install Node.js (includes npm) from nodejs.org

  2. 2

    Change into the ts folder and install dependencies

    cd ts && npm install
  3. 3

    Start the local dev server

    npm run dev
  4. 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