Python
C
C++
Java
JS
Node.js
PHP
Octave/Matlab
SQL
VHDL
VHDL
Verilog
Verilog
CV
CircuitVerse
Simcir
Home

ProgExam | Online Digital Circuit Simulator

SimcirJS

SimcirJS is a circuit simulator in HTML5 and JavaScript created by Kazuhiko Arase.
Drag components from the toolbox to build your own circuit!

Usage

  • Choose a device from the toolbox and move to right side.
  • Connect them by drag operation.
  • Click an input node to disconnect.
  • Move a device back to the toolbox if you don't use.
  • Ctrl+Click (Mac: command+Click) to toggle view (Live circuit or JSON data).
  • Double-Click a label to edit device name.
  • Double-Click a library to open the circuit inside.
{ "width": 1000, "height": 650, "showToolbox": true, "toolbox": [ {"type": "In"}, {"type": "Out"}, {"type": "Joint"}, {"type": "DC"}, {"type": "LED"}, {"type": "PushOff"}, {"type": "PushOn"}, {"type": "Toggle"}, {"type": "BusIn"}, {"type": "BusOut"}, {"type": "7seg"}, {"type": "16seg"}, {"type": "RotaryEncoder"}, {"type": "Speaker"}, {"type": "OSC", "freq": 10, "label": "Fast (10Hz)"}, {"type": "OSC", "freq": 1, "label": "Slow (1Hz)"}, {"type": "OSC", "freq": 0.5, "label": "Snail (0.5Hz)"}, {"type": "NOT"}, {"type": "AND"}, {"type": "NAND"}, {"type": "OR"}, {"type": "NOR"}, {"type": "XOR"}, {"type": "XNOR"}, {"type": "Buffer"}, {"type": "RS-FF"}, {"type": "JK-FF"}, {"type": "D-FF"}, {"type": "T-FF"}, {"type": "HalfAdder"}, {"type": "FullAdder"}, {"type": "4bitAdder"}, {"type": "4bitCounter"}, {"type": "8bitCounter"} ] , "devices":[ {"type":"NAND","numInputs":"3","label":"NAND(3in)","id":"dev0","x":208,"y":128}, {"type":"Toggle","id":"dev1","x":152,"y":80,"label":"Toggle"}, {"type":"Toggle","id":"dev2","x":152,"y":128,"label":"Toggle"}, {"type":"Toggle","id":"dev3","x":152,"y":176,"label":"Toggle"}, {"type":"DC","id":"dev4","x":96,"y":128,"label":"DC"}, {"type":"LED","color":"#00ff00","label":"LED(G)","id":"dev5","x":264,"y":128}, {"type":"OSC","freq":1,"label":"OSC(1Hz)","id":"dev6","x":96,"y":232}, {"type":"NAND","numInputs":"3","label":"NAND(3in)","id":"dev7","x":152,"y":272}, {"type":"7seg","color":"#000000","bgColor":"#889988","id":"dev8","x":208,"y":232,"label":"7seg"} ], "connectors":[ {"from":"dev0.in0","to":"dev1.out0"}, {"from":"dev0.in1","to":"dev2.out0"}, {"from":"dev0.in2","to":"dev3.out0"}, {"from":"dev1.in0","to":"dev4.out0"}, {"from":"dev2.in0","to":"dev4.out0"}, {"from":"dev3.in0","to":"dev4.out0"}, {"from":"dev5.in0","to":"dev0.out0"}, {"from":"dev7.in0","to":"dev6.out0"}, {"from":"dev7.in1","to":"dev6.out0"}, {"from":"dev7.in2","to":"dev6.out0"}, {"from":"dev8.in0","to":"dev6.out0"}, {"from":"dev8.in1","to":"dev7.out0"}, {"from":"dev8.in2","to":"dev7.out0"}, {"from":"dev8.in3","to":"dev6.out0"}, {"from":"dev8.in4","to":"dev7.out0"}, {"from":"dev8.in5","to":"dev7.out0"}, {"from":"dev8.in6","to":"dev6.out0"} ] }