Skip to content

Saving and loading

NumaSim circuits are plain JSON files with an .numasim.json extension. You can save them anywhere — local disk, cloud storage, version control — and re-open them in any modern browser.

Save

Use the File > Save menu (or Ctrl/Cmd+S). The app prompts your browser's standard file picker. Pick a location and a name; the .numasim.json extension is appended automatically.

Load

File > Open (or Ctrl/Cmd+O) brings up a file picker. Select any .numasim.json file and it replaces the current canvas content.

The file format

A saved circuit is a single JSON object containing:

  • Version — the file format version (the loader is backward-compatible).
  • Cells — the components on the canvas, each with its type, position, rotation, parameters, and IDs.
  • Wires — the connections between cell ports.
  • Observables — the signals you've named for scoping.
  • Subsystems — if any are present, the file is saved as numasim-circuit-2 instead of v1.

The shape is stable across releases. You can grep, diff, hand-edit, or generate .numasim.json files with any tool that emits JSON.

Sharing circuits via URL

Any sample circuit can be opened directly by URL:

https://www.numasim.com/?sample=<id>

where <id> matches a file in the samples/ directory (e.g. voltage_divider, rlc_series, pwm_power_control). The app loads the sample on mount, then strips the query param so a refresh doesn't re-load it.

This is the mechanism every "Open in app" button on this docs site uses.

Import PSS®E .raw files

If you have a power-system case in PSS®E .raw format, use File > Import PSS/E to translate it into a circuit. The importer maps buses, branches, generators, and loads to NumaSim's electrical primitives so you can run power flow on the result.

Released under the MIT License.