What this error means
ERC fires this error in two main situations: the label's anchor point does not land on a wire, wire end, or pin — electrically it is attached to nothing — or the label is attached but its net connects zero component pins anywhere in the design: a labeled stub going nowhere.
KiCad 10 adds a third case: a local label on a net piece with no pins on its own sheet while a same-named net with pins exists on another sheet — a local label doing a global label's job. KiCad 9 does not flag it.
In KiCad 9 a dangling global label reports global_label_dangling
instead; KiCad 10 folded global labels into this check and shortened
the title. Dangling net class directive labels report it in both
versions. Labels on buses are skipped.
Common causes
1. The label's anchor isn't actually touching the wire
The electrical attachment point is the small square at the label's corner, not the text. A label that overlaps the wire with its anchor one grid step off is attached to nothing — usually the aftermath of a grid change or an import.
2. The labeled wire reaches no pins
The label sits on a wire that connects zero pins: a leftover stub after a part was moved or deleted, or a rail renamed on one side so the old name reaches nothing.
3. A local label was used where a global label was needed (KiCad 10)
Two same-named local labels on different sheets are two different nets. KiCad 10 flags the sheet whose piece has no pins; KiCad 9 let it pass — a common reason ERC fails only after upgrading.
How to fix it
Move the label so its anchor square lands on the wire
- Click the label and press M.
- Drop it with the anchor square on the wire or a pin end; the outline drawn at an unattached anchor disappears once it connects.
- If it won't snap onto the wire, switch back to the default 50 mil grid and move it again.
- Re-run ERC (Inspect → Electrical Rules Checker).
Use when: The label looks attached but ERC disagrees; the anchor square, not the text, decides. This is the 80% case.
Delete the stub or wire it to its destination
- Hover the label and press the highlight-net key (backtick) to see what the net actually reaches.
- Delete leftover labeled stubs — wire and label together.
- If the net should go somewhere, wire it to the target pin or fix a renamed or misspelled label at the far end.
Use when: The label is on a wire, but the net connects no pins. The error is correct; the schematic changed and the label outlived its net.
Replace the local label with a global or hierarchical label
- Right-click the label → Change to Global Label (or place one directly with Ctrl+L).
- In hierarchies, use a hierarchical label plus a matching sheet pin instead.
- Repeat on the other sheet so both ends share one global name.
Use when: KiCad 10 flags a local label whose net has pins only on another sheet; local labels are sheet-scoped.
When it’s safe to exclude
Rarely, and mostly temporarily: a labeled stub reserved for a net you will wire later is the one honest use. Right-click the marker → Exclude silences that single violation.
A no-connect flag does not cover the dangling or zero-pin cases, so exclusion is the only per-instance escape. Downgrading the whole check in Schematic Setup → Electrical Rules → Violation Severity also hides label typos and orphaned nets — the mistakes that become boards with missing connections.
Gotchas
- A label can cover the wire with its text and still be unattached; the one-grid-step offset is nearly invisible at normal zoom. Zoom in on the anchor before blaming ERC.
- Labels on buses joined across hierarchical sheets produced false positives through the 8.x/9.0 era, since fixed; update KiCad before excluding bus-label errors.
Version notes
- KiCad 10.0: UI title changed from "Label not connected to anything".
Minimal reproduction
Wire two pins together and place a net label (hotkey L) with its anchor square one grid step off the wire. Run ERC. KiCad 10 reports:
[label_dangling]: Label not connected
; error
@(116.84 mm, 99.06 mm): Label 'SIG1'
KiCad 9 reports the same violation as "Label not connected to anything".
The checked-in data/erc/samples/label_dangling.kicad_sch does this
with two embedded one-pin symbols, a wire, and a label 2.54 mm above
it; the two lib_symbol_issues warnings are artifacts of the embedded
repro library. Moving the label onto the wire drops the errors to
zero under 9.0.9 and 10.0.5 — fix #1 in miniature.
Related errors
- Wires not connected to anything
- Label connected to only one pin (reference page coming soon)
- Global label not connected anywhere else in the schematic
- Global label only appears once in the schematic (reference page coming soon)
FAQ
Why is ERC flagging my net label as not connected when it's on the wire?
The attachment point is the small square at the label's corner, not the text. One grid step off the wire and the label is electrically floating no matter how it looks. Move it until the square sits on the wire; the unattached-anchor outline disappears when it connects.
My schematic passed ERC in KiCad 9 — why does KiCad 10 report Label not connected?
KiCad 10 widened the check: dangling global labels moved into it, and a local label now errors when its net has pins only on another sheet. Same-named local labels stitching sheets together pass in 9 and fail in 10; use global labels or hierarchical labels with sheet pins.
ERC says my hierarchical bus labels aren't connected, but the netlist and PCB are fine — false positive?
Possibly, on an older release: bus labels across hierarchical sheets produced false positives that were since fixed, and current releases skip buses in this check. Update first; a plain non-bus label still flagged means the anchor or the net really is unconnected.