Vibeleaderboard
Index / tool
Visit tscircuit.github.io
Category
Developer Tools
Rank
No. 1815Tools index

Previous survey · No. 1823 ·

Pricing
Open Source
Type
TOOL
Builder
tscircuit
GitHub
14 stars
Date

About

Converts KiCad footprints into Circuit JSON for use in tscircuit-based electronics designs.

What it does

A TypeScript library for translating board data in both directions between KiCad and Circuit JSON. It also models project and schematic structures with runtime validation schemas.

Why it's ranked here

The bidirectional board conversion and detailed validation layer make it useful for typed electronics pipelines. However, the public entry point exports board and project modules, while the separate schematic module is not exported there.

What's good

It covers footprints, pads, nets, tracks, vias, layers, board graphics, and project settings with explicit TypeScript types. Zod schemas add runtime checks, including constrained pad types and shapes.

Tradeoffs

The schemas accept arbitrary values for several project fields, weakening validation in those areas. Schematic parsing exists in a separate module, but the package entry point shown only re-exports board and project features.

How to use it well

Best for TypeScript teams moving board data between KiCad and tscircuit workflows, especially when runtime validation matters. Treat it as a programmatic library, not a command-line tool or complete project-directory manager.

Technical notes+

package.json defines an npm package built from lib/index.ts with tsup in ESM mode, declarations, and source maps; it lists tscircuit, TypeScript, and Zod as peer dependencies. lib/index.ts re-exports lib/kicad-pcb/index.ts and lib/kicad-pro/index.ts, but not lib/kicad-sch/index.ts. lib/kicad-pcb/zod.ts validates the PCB root plus layers, setup, nets, footprints, segments, and vias. lib/kicad-pro/zod.ts models extensive project settings but uses z.any() for several fields. lib/common/parse-sexpr.ts implements a small tokenizer and recursive S-expression parser whose quoted-string handling does not show escape processing.

Observed

License
MIT, according to README.md.
Primary language
TypeScript.
Installation
Published as the kicad-converter npm package and installed with npm.
Interface
Programmatic TypeScript library; no CLI is described in README.md or package.json.
Package contents
package.json limits published package files to the dist directory.
Runtime validation
Zod schemas cover PCB, project, and schematic data structures.
Development tooling
Builds with tsup and runs tests with Bun.

Read from README.md, package.json, lib/index.ts, lib/kicad-pcb/zod.ts, lib/kicad-pro/zod.ts, lib/kicad-sch/zod.ts, lib/kicad-pcb/index.ts, lib/kicad-pro/index.ts, lib/kicad-sch/index.ts, lib/kicad-dir/types.ts, lib/kicad-pcb/types.ts, lib/kicad-pro/types.ts, lib/kicad-sch/types.ts, lib/common/parse-sexpr.ts.

What it can do

  • Convert KiCad footprints to Circuit JSON

    KiCad footprint filesCircuit JSON format files

  • Transform component footprints for tscircuit compatibility

    KiCad component footprintstscircuit-compatible footprint data

  • Parse KiCad footprint geometry

    KiCad footprint files with pad and trace dataStructured geometric data in Circuit JSON

  • Convert PCB component layouts

    KiCad PCB component definitionsCircuit JSON component layouts

  • Migrate electronics designs between formats

    KiCad-based electronics designstscircuit-compatible design files

Tags

kicadpcbtscircuitconverter

Tech Stack

Node.jsTypeScript

Comments (0)

No comments yet

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