Creepage violation
A 'Creepage violation' DRC error in KiCad indicates that the shortest surface distance between two conductive items is less than the required minimum defined in the board's custom rules.
In KiCad, a 'Creepage violation' is a Design Rule Check (DRC) error that occurs when the creepage distance—defined as the shortest path along the surface of the PCB's insulating material between two conductive items on different nets—falls below the minimum threshold required by the board's custom rules. Unlike standard clearance, which measures the shortest distance through the air (line-of-sight), creepage calculations account for the PCB surface topology, including paths that wrap around board edges or unplated milled slots on the Edge.Cuts layer. When the DRC engine determines that a surface path connecting two distinct nets violates the user-specified `creepage` constraint, it emits this violation and highlights the offending path in the editing canvas.
The DRC engine emits this diagnostic because two distinct conductive objects (such as pads, vias, traces, or copper zones) are physically placed too close to each other along the continuous surface of the board, violating a custom rule that mandates a larger spacing. This typically occurs in high-voltage designs when components are packed tightly or when the layout designer fails to add an isolation slot to artificially lengthen the surface path between nets. The error can also be triggered if a custom design rule (`kicad_dru`) unintentionally targets low-voltage nets with a high-voltage creepage requirement due to missing or overly broad `condition` statements.
(version 1) (rule "High Voltage Creepage" (constraint creepage (min 5mm)) )
To fix a creepage violation, increase the physical surface distance between the affected conductive items, insert an isolation slot in the Edge.Cuts layer to extend the surface path length, or properly scope the constraint in the custom rules. ```KiCad Custom Rules (version 1) (rule "High Voltage Creepage" (condition "A.NetClass == 'HV' && B.NetClass == 'HV'") (constraint creepage (min 5mm)) ) ```