KiCad Netlist Tool
Tool for reducing LLM token count from Kicad SCH files, to allow for automated documentation
Compact netlist extraction for LLM workflows
The Problem
KiCad schematic files are mostly noise for LLM purposes. A modest circuit is 55KB and 25,000+ tokens. Most of that is UUIDs, coordinates, symbol graphics, and metadata. The actual electrical information is maybe 2% of the file.
The Tool
Extracts just the electrical information and outputs it in TOKN format:
Original: 1,509,037 tokens → TOKN: 51,443 tokens
Reduction: 96.6%

Features:
- Hierarchical sheet selection — pick which sheets to include
- Copy to clipboard — paste directly into your LLM
- File monitoring — auto-regenerate when you save in KiCad
- Real-time stats — token count before and after
TOKN Format
The output is TOKN v1.2 — a compact format that preserves the electrical information:
# TOKN v1
title: Audio Preamp
components[3]{ref,type,value,fp,x,y,w,h,a}:
U1,ECC83,ECC83-1,Valve,127.00,85.09,25.40,20.32,0
R1,R,1.5k,0805,149.86,85.09,7.62,0.00,90
C1,C,10uF,RadialD10,123.19,64.77,0.00,7.62,0
nets[2]{name,pins}:
VIN,U1.2,C1.1
VOUT,U1.7,R1.2
Components, values, footprints, positions, and net connectivity.
Use Cases
Documentation: Generate functional descriptions of circuit blocks.
Design review: Catch missing pull-ups, floating pins, etc.
BOM generation: Component list is already extracted.
Selective extraction: Include only the sheets you need.
Tech Stack
- Language: Python
- GUI: CustomTkinter
- Format: TOKN v1.2
- Platforms: Windows, macOS, Linux
Source Code: GitHub