KiCad ERC Error Reference
Analyze your ERC report
Paste the output of kicad-cli sch erc (plain text or --format json), the report saved from the ERC dialog, or even a single violation line. You get every violation grouped by type, linked to its reference page.
All KiCad ERC errors
48 violation types across KiCad 9 and 10 — 1 written up so far, the rest are in progress. Checks that exist in only one version are marked.
Power
| Error | Default severity | Summary |
|---|---|---|
Ground pin not connected to ground net (coming soon) KiCad 10 onlyground_pin_not_ground | warning | |
Input Power pin not driven by any Output Power pinspower_pin_not_driven | error | Every net with a power input pin must also contain a power output pin to drive it. Power symbols like +5V and GND are inputs, not drivers, so a net fed from a connector or battery trips this error until you add a PWR_FLAG. |
Power pins are similar (lower/upper case difference only) (coming soon)similar_power | warning | |
Symbol has power input pins that are not placed (coming soon)missing_power_pin | error |
Connections
| Error | Default severity | Summary |
|---|---|---|
A pin with a "no connection" flag is connected (coming soon)no_connect_connected | warning | |
Bus Entry needed (coming soon)bus_entry_needed | error | |
Four connection points are joined together (coming soon)four_way_junction | ignore | |
Input pin not driven by any Output pins (coming soon)pin_not_driven | error | |
Label connects more than one wire (coming soon)label_multiple_wires | warning | |
Pin name resembles stacked pin (coming soon) KiCad 10 onlystacked_pin_name | warning | |
Pin not connected (coming soon)pin_not_connected | error | |
Symbol pin or wire end off connection grid (coming soon)endpoint_off_grid | warning | |
Unconnected "no connection" flag (coming soon)no_connect_dangling | warning | |
Unconnected wire endpoint (coming soon)unconnected_wire_endpoint | warning | |
Wires not connected to anything (coming soon)wire_dangling | error |
Labels
| Error | Default severity | Summary |
|---|---|---|
Global label not connected anywhere else in the schematic (coming soon) KiCad 9 only (removed in 10)global_label_dangling | warning | |
Global label only appears once in the schematic (coming soon)single_global_label | ignore | |
Label connected to only one pin (coming soon) KiCad 10 onlyisolated_pin_label | warning | |
Label not connected (coming soon)label_dangling | error | |
Labels are similar (lower/upper case difference only) (coming soon)similar_labels | warning | |
Local and global labels have same name (coming soon)same_local_global_label | warning | |
More than one name given to this bus or net (coming soon)multiple_net_names | warning | |
Power pin and label are similar (lower/upper case difference only) (coming soon)similar_label_and_power | warning |
Conflicts
| Error | Default severity | Summary |
|---|---|---|
Buses are graphically connected but share no bus members (coming soon)bus_to_bus_conflict | error | |
Conflict between bus alias definitions across schematic sheets (coming soon)bus_definition_conflict | error | |
Conflict problem between pins (coming soon)pin_to_pin | error/warning (pin matrix) | |
Duplicate pins with different nets (coming soon)duplicate_pins | error | |
Duplicate reference designators (coming soon)duplicate_reference | error | |
Invalid connection between bus and net items (coming soon)bus_to_net_conflict | error | |
Net is graphically connected to a bus but not a bus member (coming soon)net_not_bus_member | warning |
Symbol units
| Error | Default severity | Summary |
|---|---|---|
Different footprint assigned in another unit of the symbol (coming soon)different_unit_footprint | error | |
Different net assigned to a shared pin in another unit of the symbol (coming soon)different_unit_net | error | |
Symbol has bidirectional pins that are not placed (coming soon)missing_bidi_pin | warning | |
Symbol has input pins that are not placed (coming soon)missing_input_pin | warning | |
Symbol has more units than are defined (coming soon)extra_units | error | |
Symbol has units that are not placed (coming soon)missing_unit | warning | |
Units of same symbol have different values (coming soon)unit_value_mismatch | error |
Symbols & libraries
| Error | Default severity | Summary |
|---|---|---|
Assigned footprint doesn't match footprint filters (coming soon)footprint_filter | ignore | |
Footprint link issue (coming soon)footprint_link_issues | warning | |
Library symbol issue (coming soon)lib_symbol_issues | warning | |
SPICE model issue (coming soon)simulation_model_issue | ignore | |
Symbol doesn't match copy in library (coming soon)lib_symbol_mismatch | warning |
Hierarchy & sheets
| Error | Default severity | Summary |
|---|---|---|
Duplicate sheet names within a given sheet (coming soon)duplicate_sheet_names | error | |
Mismatch between hierarchical labels and sheet pins (coming soon)hier_label_mismatch | error |
Miscellaneous
| Error | Default severity | Summary |
|---|---|---|
Field name has leading or trailing whitespace (coming soon) KiCad 10 onlyfield_name_whitespace | warning | |
Symbol is not annotated (coming soon)unannotated | error | |
Undefined netclass (coming soon)undefined_netclass | error | |
Unresolved text variable (coming soon)unresolved_variable | error |
No errors match that filter. ERC messages vary slightly between KiCad versions — try a shorter fragment.
How ERC works in KiCad
ERC (Electrical Rules Check) runs after KiCad builds the netlist from your schematic. It walks every net and every symbol and applies two kinds of checks: structural ones (dangling wires, unconnected pins, labels that connect to nothing, annotation problems) and electrical ones driven by the pin conflict matrix, which compares the electrical type of every pin sharing a net — two outputs on one net is an error, an input with nothing driving it is another.
Each violation type has a default severity — error, warning, or ignore — and every one of them is configurable in Schematic Setup → Electrical Rules → Violation Severity. Individual violations can also be excluded from the ERC dialog (right-click → Exclude), which keeps them recorded in the schematic but out of your face. The severity defaults documented on this site are the ones shipped in KiCad 9 and 10, extracted from KiCad’s source code rather than copied from forum posts; where a check exists in only one of the two, or changed between them, the error’s page says so.
You can run ERC without opening the schematic editor: kicad-cli sch erc your-design.kicad_sch writes a plain text report, and --format json emits a machine-readable one — both formats are what the analyzer above understands. For the official documentation, see the Electrical Rules Checking chapter of the KiCad Schematic Editor manual for KiCad 9 or KiCad 10.