Manufacturing
PCB Drill Sizes and Annular Rings Explained for Fabrication
Choose PCB drill sizes and annular rings that fit component leads, plating tolerances, and fab capabilities, then enforce them correctly in KiCad.
Published Updated
Hole size, drill size, and finished size are not always the same
A hole in a PCB drawing looks like one number, but fabrication adds two important details: the hole may be plated, and the drilling process has tolerance.
A plated through hole (PTH) is drilled, cleaned, and copper-plated along its wall. Board shops normally interpret the hole diameter in your drill file as the requested finished hole size and compensate their tool selection for plating. Do not enlarge every KiCad hole yourself to “allow for plating” unless your fabricator explicitly asks for tool size rather than finished size. Otherwise both you and the shop may compensate.
A non-plated through hole (NPTH), such as an isolated mounting hole, has no conductive barrel. It still has machining tolerance, but no copper plating reduces its diameter. Slots have another set of limits because small plated slots are often made by overlapping drill hits or routing.
Before choosing any number, read the shop’s current capability table. The true constraint is not merely its headline minimum drill. Finished-hole tolerance, minimum slot width, hole-to-hole spacing, board thickness, and extra charges all matter. A capability marked “available” may be a poor default for a low-cost prototype. The same caution applies to the values in minimum trace width and clearance guidance.
Calculate the annular ring correctly
The annular ring is the copper left around a drilled hole. For a circular pad with a centered circular hole, its nominal radial width is:
annular ring = (pad diameter - hole diameter) / 2
For example, a 1.60 mm pad around a 0.80 mm hole has a nominal 0.40 mm annular ring:
(1.60 mm - 0.80 mm) / 2 = 0.40 mm
Do not confuse radial ring width with the difference between the two diameters. Calling that example a 0.80 mm ring doubles the usable margin on paper.
The manufactured ring will not be perfectly even. Drill position, layer registration, etching, and hole-size tolerance can shift the barrel relative to the copper. That is why a design should not sit exactly on a shop’s minimum unless density forces it. A larger ring improves tolerance to breakout and gives a through-hole lead more copper for soldering and repair.
For an oval pad or slot, measure the copper remaining from each edge of the finished opening. The narrow end of an oval pad is usually the limiting direction. For an offset or unusually shaped pad, a single diameter calculation is insufficient; inspect the actual geometry and let DRC check the minimum copper width.
Pick a component hole from the lead, not the library name
Start with the component’s mechanical drawing. For a round lead, add enough clearance to the maximum lead diameter for insertion, lead finish, and process variation. For a rectangular lead, calculate its maximum diagonal before adding clearance:
lead diagonal = sqrt(max_width^2 + max_thickness^2)
A 0.50 mm by 0.30 mm lead has a 0.583 mm diagonal. A 0.60 mm hole would be an unnecessarily tight target; a larger finished hole may be appropriate after considering the lead tolerances and assembly method. Hand assembly usually benefits from more insertion clearance than a tightly controlled automated process, but an oversized hole produces a weak solder fillet and can make the part lean.
Also check whether the drawing describes nominal or maximum lead dimensions. Headers sold as “0.64 mm square pin” need a hole based on the square’s diagonal, not 0.64 mm. Press-fit connectors are a special case: use the connector maker’s recommended finished-hole range and ask the fabricator for a controlled press-fit process. A generic prototype hole tolerance is often too broad.
After selecting the hole, choose a pad that gives a comfortable ring while preserving copper clearance. This tradeoff belongs in the broader PCB DFM checklist, not in footprint creation alone.
Set the values and rules in KiCad
In KiCad’s Footprint Editor, hover over a pad and press E to open Pad Properties. Set:
- Pad type to Through-hole for a plated electrical hole, or NPTH, Mechanical for a non-plated mechanical hole.
- Hole shape and Hole size from the mechanical requirement.
- Pad shape and Size X/Size Y from the required annular ring and soldering area.
- Copper layers appropriately. A normal PTH pad spans all copper layers; an NPTH mounting hole normally has no copper layers selected.
For vias, configure practical presets under File → Board Setup → Pre-defined Sizes → Track and Via Sizes. Then set the process floor under File → Board Setup → Design Rules → Constraints, including minimum annular width and minimum drill size. The preset is what the router offers; the constraint is what DRC rejects. Setting only the preset does not stop an imported or manually edited via from violating the fab rule.
Run DRC with schematic parity before release:
kicad-cli pcb drc \
--schematic-parity \
--severity-all \
--exit-code-violations \
-o build/board-drc.rpt \
board.kicad_pcb
KiCad returns exit code 5 when --exit-code-violations finds violations, which makes this command useful in CI. Review warnings instead of automatically excluding them; questionable padstacks and holes partly outside copper often expose footprint mistakes.
Export and inspect the drill data
Drill data is usually Excellon, separate from the copper Gerber files. Generate both the files and a human-readable map:
mkdir -p build/drill
kicad-cli pcb export drill \
--format excellon \
--excellon-units mm \
--generate-map \
--map-format pdf \
-o build/drill/ \
board.kicad_pcb
Load the drill and Gerber outputs together in KiCad GerbView. Check that plated and non-plated holes are classified as intended, slots appear as slots, mounting holes clear nearby copper, and every connector pattern matches the mechanical drawing. Finally, inspect the fabricator’s upload preview and reported drill table. A surprising tool count, a missing NPTH file, or a converted slot is a reason to stop the order.
Designs that ignore these checks are common candidates for the failures covered in why PCB orders get rejected. A generous, documented drill policy costs almost no board area on a modest design and removes one of the least repairable classes of PCB error.