Import

CircuitJS import: open a Falstad export link or text in Mokxi

Paste a Falstad CircuitJS export link (the kind with ?ctz= or ?cct= in it), or the text from Export As Text.

Import your own projectEvery tool Mokxi imports from
The box

Drop it here, or paste it

The circuit opens in Mokxi with its resistors, sources, transistors, op-amps, gates and chips joined as they were. From there you can run it, probe it, or add an Arduino and drive it from code. The circuit travels inside the link, so nothing is fetched from falstad.com.

A 5 V rail on a relay coil, its contacts switching between a 1 kΩ and a 2.2 kΩ load, and a 120 V 100 W lamp on a 12 V rail. It opens as a DPDT relay with a 20 Ω coil that pulls in at 20 mA and Mokxi's 12 V 0.1 A lamp, the closest it has, with the report explaining both.

Paste from ChatGPT or ClaudeCopy a prompt, say what to build, paste the answer.
  1. 1Copy the promptIt teaches your AI how to write a Mokxi project.
  2. 2Say what to buildPaste the prompt into ChatGPT, Claude, Gemini or Cursor and add what you want, like "a night light with a light sensor".
  3. 3Paste its answer hereThe whole reply is fine. It opens wired and ready to run.

Only have a photo or a screenshot of the circuit? Give your AI the picture with this prompt instead.

Your AI app supports MCP? Add the Mokxi server and it builds the link for you. How

From Tinkercad? Three stepsBring a circuit across wired, with its code.
  1. 1Export the circuitIn Tinkercad, open the circuit, press Export and download the .brd file. It has every part and wire.
  2. 2Download the codeOpen Code, switch to Text and press the download button for the .ino.
  3. 3Drop both hereChoose or drop the .brd and the .ino together: it opens wired, with the code on the board. No .brd? Paste the Component List with the code under it.
Files and links

What Mokxi reads from Falstad CircuitJS

A link from File, Export As Link: falstad.com/circuit/circuitjs.html?ctz=... (compressed with lz-string) or ?cct=... (URL-encoded), and the same shape from lushprojects.com. Links are read up to 32,000 characters.

The text from File, Export As Text: lines starting with a $ options line, or the newer <cir> XML form.

A saved file holding that text, as .txt, .circuitjs or .cir, dropped on the page or the editor.

The link typed after mokxi.com/ in the address bar: mokxi.com/falstad.com/circuit/circuitjs.html?ctz=... opens the editor with it imported.

Converted

What comes across

Where the posts meet

Each element is read with the geometry CircuitJS draws it with, so every post lands where it did on the 16 pixel grid: a transistor's collector and emitter beside the end of its line, an op-amp's inputs beside its start, a chip's pins along its box. Posts on one point are one node, w and routed wires join their ends, labeled nodes with one name join, and a post a pixel or two off a node is snapped onto it.

Analog elements

Resistors, capacitors, inductors, DC sources and rails (an adjustable rail fixed at its present setting), sine, square, triangle, sawtooth and pulse sources as a signal generator, ground, switches, diodes, zeners, LEDs with their color, NPN and PNP transistors, MOSFETs, potentiometers, the 555, LDRs, thermistors, DC motors, lamps (the nearest of Mokxi's lamps, named in the report when it differs), and voltmeters and ammeters as a multimeter. A frequency sweep becomes a sine generator at the middle of its range.

Logic, as gates and 74HC chips

A gate with more than two inputs becomes a chain of two-input gates. Inverters, logic inputs and logic outputs come across as themselves. D and JK flip-flops, counters, multiplexers and analog switches become the 74HC or CD4000 chip that does the same job, and because CircuitJS powers logic without wires, each chip gets a 5 V supply and ground of its own.

Relays, and op-amps with a real supply

A one- or two-pole relay becomes Mokxi's DPDT relay with the same coil resistance, set to pull in at the same current; the report gives the figures, notes an unused second pole, and the rest contact is normally closed. A CircuitJS op-amp is ideal and unpowered, so Mokxi adds a supply at its maximum rail and a ground, and sets its negative rail when the minimum was below zero.

Layout and text

CircuitJS's grid is about a third of what Mokxi's parts need at real size, so the drawing is scaled up until the parts clear each other and whatever still overlaps (a bench supply is large) is pushed aside. Text elements become sticky notes.

Left out

What does not, and what happens instead

Scope views and audio

A scope view is dropped and the report says to wire a Mokxi scope to the node to watch it. An audio output is dropped too, since Mokxi does not play a node as sound.

Transformers, transmission lines, subcircuits

Transformers (plain, tapped and custom), transmission lines, custom subcircuits and custom logic, triodes, triacs, memristors and the other elements Mokxi has no part for become a pink note named after the element (custom subcircuit, transmission line) where it stood, its posts listed so the circuit can be finished by hand.

A ground, when the circuit had none

CircuitJS simulates without a ground symbol; Mokxi needs one. When no g element is in the circuit, the report tells you to place a ground at the circuit's 0 V.

Relays with more than two poles

Mokxi's relay is DPDT, so a CircuitJS relay with three or more poles has no match and is listed as a note with its posts.

Step by step

From Falstad CircuitJS to Mokxi

  1. Step 1

    In CircuitJS, open the File menu and choose Export As Link, then copy the link; or choose Export As Text and copy the text.

  2. Step 2

    Paste it in the box above, drop it on the editor canvas, or type mokxi.com/ in front of the link in the address bar.

  3. Step 3

    The circuit opens drawn larger than CircuitJS drew it; the summary chip names the added supplies, the matched relays and lamps, and anything that became a note.

  4. Step 4

    Press Run. If the report says the circuit has no ground, place one at its 0 V. Press T to tidy the wires, then drag in an Arduino to drive the circuit from code.

FAQ

Questions about importing from Falstad CircuitJS

How do I get a link out of CircuitJS?

In CircuitJS, use File, Export As Link, and copy what it shows; the address holds the whole circuit after ?ctz=. Paste that here. File, Export As Text gives the same circuit as plain lines, which paste equally well.

Does Mokxi fetch anything from falstad.com?

No. A CircuitJS link carries the circuit in its query string, compressed in ?ctz= or URL-encoded in ?cct=, so Mokxi decodes the link in your browser and reads the text it holds. The link is never requested, and the decoded text is capped in size.

Can I add an Arduino to a Falstad circuit?

Yes. Once the circuit is open, drag an Arduino or another board from the parts list and wire its pins to the nodes, then write the sketch in the code pane. CircuitJS's main simulator does not run firmware, which is the usual reason to move a circuit over.

Why did my op-amp get a power supply?

A CircuitJS op-amp is ideal and has no supply pins; Mokxi's has a supply and a ground. The import adds a supply at the op-amp's maximum output voltage and a ground, and sets the negative rail when the minimum was negative, so the stage clips where it did before.

What happened to the scope at the bottom of the screen?

Scope views are not carried, and the report says so. Wire a Mokxi scope to the node you were watching; it opens as a panel with the same trace.

Why is the circuit bigger than it was in CircuitJS?

CircuitJS draws on a 16 pixel grid, roughly a third of the space Mokxi's parts take at real size. The import scales the layout up until nothing overlaps and nudges the few parts that still collide, so the shape of the circuit is kept while every part is readable.

Simulate your circuit in minutes. Build it for real with Pro.

Start free