SPICE DIALECT CONVERTER
Source Dialect
⇆
Target Dialect
Netlist Input
converted.cir
Conversion Report
SPICE Dialect Converter rewrites netlists between five common SPICE flavors — PSpice, LTspice, ngspice, SPICE3F5, and ProSpice (the engine behind Proteus VSM) — entirely in your browser, with no upload to a server. Pick a source and target dialect, paste in or drop a netlist file, and hit Convert. Most of a SPICE netlist —
R/L/C/V/I/D/Q/M/X elements, .MODEL, .SUBCKT, .PARAM, and analysis directives like .TRAN/.AC/.DC — is written identically across all five dialects, so those lines pass through unchanged. The tool focuses its actual rewriting on the part that genuinely differs: behavioral sources, translating PSpice/ProSpice's E/G ... VALUE = {expr} syntax to LTspice's native B ... V=expr/I=expr form and back, and reducing simple linear expressions down to a native controlled source when targeting strict SPICE3F5 (which has no behavioral-source support at all). ngspice is treated as a special case since it natively accepts both syntaxes — a netlist arriving from or heading to ngspice keeps whichever behavioral-source form it already has, since ngspice's parser understands VALUE=, TABLE(), POLY(), and B-source forms directly. The one thing ngspice doesn't support natively is LTspice/PSpice's .STEP directive — like strict SPICE3F5, it needs a .control block with a sweep loop instead, so that line gets flagged rather than silently dropped. Anything else the tool can't safely rewrite on its own — non-linear expressions targeted at SPICE3F5, TABLE() sources heading to LTspice or SPICE3F5, .GLOBAL targeting native SPICE3F5 — gets commented out inline and listed in the Conversion Report below the output, so you always know exactly what still needs a manual look rather than getting a netlist that silently fails to simulate.