KiCad 7, 8, 9 and 10
- Open your project and the Schematic Editor. If you use hierarchical sheets, open the root sheet - the export always covers the whole project.
- Choose File > Export > Netlist...
- In the Export Netlist dialog, keep the KiCad format selected. It is the default. Do not pick OrcadPCB2, Cadstar, SPICE or the XML variant.
- Click Export Netlist and save the file. It gets the
.netextension. - Drop the
.netfile on the checker, or click "Choose files".
Annotate before exporting (Tools > Annotate Schematic) so every part has a unique reference like R12 instead of R?. The checker still runs on an unannotated design, but it will warn you, and the findings are much easier to act on with real references.
From the command line
KiCad 7 and newer ship kicad-cli, which exports the same netlist without opening the GUI:
kicad-cli sch export netlist -o board.net board.kicad_sch
Pass the root schematic of a hierarchical design. The default format (kicadsexpr) is the one you want. This is handy in CI: export on every push and keep the netlist next to your release artefacts.
Older versions
KiCad 6 uses the same Export Netlist dialog with the KiCad format as the default. KiCad 5 puts it under Tools > Generate Netlist File: stay on the KiCad tab and click Generate Netlist. KiCad 5 netlists work in the checker, with one limitation: they omit unconnected pins entirely, so the checker cannot see no-connect flags and softens the "unconnected pin" findings.
Skip the export: drop the schematic instead
You can also drop .kicad_sch files directly. For a hierarchical project, select all of the project's .kicad_sch files at once (the root sheet plus every sub-sheet); the checker finds the root automatically and reports any sheet file that is missing. The schematic reader computes connectivity itself - pins, wires, labels, power symbols, buses and sheets - and matched KiCad 7's own netlist export on all 2,428 nets of the 19 projects it was tested against. The netlist remains the exact path, especially for files saved by KiCad 8 or newer.
Is my file private?
Yes. The file is read by your browser and analysed by JavaScript on this page. Nothing is uploaded, and the anonymous analytics only count events such as "a check ran with 40 parts". Details are in the privacy policy.
Troubleshooting
| Message or symptom | What to do |
|---|---|
| "This is KiCad's XML netlist" | The XML variant was selected (often used by BOM plugins). Export again with the KiCad format. |
| "This netlist is in OrcadPCB2 format" | Another format tab was selected. Export again with the KiCad format. |
| "This is a KiCad 5 schematic (.sch)" | Legacy schematics are not parsed directly. Export a netlist from KiCad 5 (Tools > Generate Netlist File) or open the project in a current KiCad. |
| "This is a PCB file (.kicad_pcb)" | The checker works on the schematic side. Export the netlist from the Schematic Editor. |
| "Missing sheet file(s)" | You dropped only some sheets of a hierarchical schematic. Select all .kicad_sch files of the project together. |
| Zip archives | Unzip first and drop the .net or .kicad_sch files. |
| Parts show up as "U?" | Annotate the schematic, then export again. |
What is inside a netlist?
A KiCad netlist is an S-expression text file with three main sections: components (reference, value, footprint, library symbol and fields for each part), libparts (pin numbers, names and electrical types for each symbol) and nets (every net with the pins it connects). That is everything the rules need: part identities, pin functions such as GPIO0 or BOOT0, and connectivity. It contains no layout information, which is why placement-related issues need a layout review.