Vibeleaderboard
Index / tool
Category
Developer Tools
Rank
No. 1626Tools index

Previous survey · No. 1644 ·

Pricing
Open Source
Type
TOOL
Builder
tscircuit
GitHub
4 stars
Date

About

Convert KiCad projects into Circuit JSON for use with the tscircuit ecosystem.

What it does

It reads KiCad board, schematic, symbol-library, and standalone-footprint content, then processes each input through ordered conversion stages. The result is structured circuit data, accompanied by warnings and conversion statistics. A browser viewer also accepts dropped files and previews converted boards or schematics.

Why it's ranked here

The tool covers both board and schematic workflows, with dedicated paths for symbol libraries and footprints. Its staged design, diagnostics, layer mapping, and legacy-footprint upgrade make it practical for targeted conversions. The repository still calls it an MVP, and several fidelity gaps limit confidence for complex designs.

What's good

Board handling includes footprints, pads, holes, traces, vias, copper zones, outlines, silkscreen graphics, and net mappings. Schematic handling includes components, pins, wires, junctions, and key properties. It also accounts for coordinate-system differences, internal copper layers, named nets from newer KiCad data, arcs, curves, and circles.

Tradeoffs

Symbol sizes are estimated, port positions use simplified transforms, and routing groups segments by net and layer. Some pad shapes can map imperfectly. Net labels and power symbols remain partial, while multi-sheet schematics are not fully tested. Legacy KiCad 5 footprint support only rewrites the root token as a best-effort upgrade.

How to use it well

Use it when a TypeScript workflow needs structured data from a board, schematic, symbol library, or individual footprint. Inspect warnings and preview the result before trusting geometry-sensitive output. It suits migration, visualization, and ecosystem integration work. It does not replace full-fidelity KiCad editing or guarantee complete multi-sheet schematic conversion.

Technical notes+

package.json defines an ESM package built from lib/index.ts with tsup-node and TypeScript declarations. lib/KicadToCircuitJsonConverter.ts selects pipelines by file extension, parses inputs with kicadts, stores output through @tscircuit/circuit-json-util, and exposes warnings and stats. lib/types.ts caps each ConverterStage at 100 iterations and records a warning on overflow. lib/KicadFootprintToCircuitJsonConverter.ts upgrades legacy input before parsing and applies a flipped PCB transform. lib/stages/pcb/arc-utils.ts approximates arcs, cubic Bézier curves, and circles with point sequences. lib/stages/pcb/layer-mapping.ts maps front, back, and internal copper layers. lib/stages/pcb/net-utils.ts accepts numeric and named net identities.

Observed

License
MIT
Primary language
TypeScript
Packaging
ES module package installable with npm or Bun
Library interface
Exports general, standalone-footprint, and symbol-library converter classes
Browser interface
Includes a Vite drag-and-drop viewer with embedded board and schematic previews
Input formats
KiCad board, schematic, symbol-library, and standalone-footprint content

Read from README.md, package.json, lib/index.ts, lib/types.ts, lib/KicadToCircuitJsonConverter.ts, lib/KicadSymbolToCircuitJsonConverter.ts, lib/KicadFootprintToCircuitJsonConverter.ts, lib/stages/index.ts, lib/kicad5/upgradeKicad5FootprintToKicad6.ts, lib/stages/pcb/index.ts, lib/stages/pcb/arc-utils.ts, lib/stages/pcb/net-utils.ts, lib/stages/schematic/index.ts, lib/stages/pcb/layer-mapping.ts, lib/stages/symbol-library/index.ts.

What it can do

  • Convert KiCad project files to Circuit JSON format

    KiCad project filesCircuit JSON files

  • Parse KiCad schematic data

    KiCad schematic files (.sch)Structured circuit data

  • Extract component information from KiCad designs

    KiCad component libraries and placementsComponent metadata in JSON format

  • Convert PCB layout data to tscircuit format

    KiCad PCB files (.kicad_pcb)Circuit JSON with layout information

  • Enable tscircuit ecosystem integration

    Circuit JSON filesCompatible data for tscircuit tools

Tags

tscircuitkicadpcbelectronicsconverter

Tech Stack

Node.jsTypeScriptVite

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.