Design Guide

Finished Hole Size vs Drill Size: What Your PCB Drill File Actually Specifies

PCB168 Editorial Team·
Finished Hole Size vs Drill Size: What Your PCB Drill File Actually Specifies

The email you get back three days after sending the package

You export Gerbers, you export an Excellon drill file, you attach a BOM, you send the RFQ. Three

days later the reply is not a price. It is a question:

> "Please confirm: are the hole sizes in the drill file finished sizes or drilled sizes? And confirm

> which holes are non-plated."

That question costs you the three days. It is also entirely avoidable, because it is not a question

about your board. It is a question about which of two different numbers your file contains, and

only you can answer it.

Here is the asymmetry that makes this the single most common RFQ clarification on drilled boards:

/ What it is / Who owns it / When it exists
What it isWho owns itWhen it exists
Drill sizeThe diameter of the tool that enters the laminateThe fabricator's tooling listBefore plating
Finished hole size (FHS)The diameter of the hole a part lead or press-fit pin has to pass throughYou, in the specificationAfter plating and surface finish

Both are legitimate ways to dimension a hole. Neither is wrong. But a CAM engineer who receives a

number with no label has to pick one, and the default in most CAM flows is to read the drill file as

tool diameter, because that is literally what an Excellon file was designed to describe: a tool

list and coordinates for that tool.

If you meant finished size and did not say so, the board is drilled at your number, plated inward,

and arrives smaller than you need. Nothing was violated. The file said what it said.

What sits between the two numbers

The gap is not arbitrary. Three things consume hole diameter after the drill, and each one is a

separate process:

1. Barrel copper. A plated through hole gets electroless copper followed by electroplated

copper on the barrel wall. That plating grows inward from both sides of the hole, so the diameter

loses roughly twice the copper thickness. This is why the finished hole is always smaller than the

drill — never larger.

2. Surface finish. The finish listed on the PCB168 manufacturing capabilities

page — HASL, ENIG, OSP, immersion tin or immersion silver — is deposited on exposed copper,

including the barrel land area and, depending on the finish, into the hole. A thick fused finish

consumes more clearance than a thin immersion one. If your hole has a tight mechanical fit

requirement, the finish is part of the fit stack, not a cosmetic choice.

3. Fill or cap, if specified. The /en/capabilities/ HDI row states via-in-pad is **filled and

capped**. A via that is resin-filled and cap-plated has no usable hole left at all — it is a solid

feature by design. That is correct behaviour for a via under a pad, and catastrophic if the same

hole was supposed to accept a component lead. Which holes get filled is therefore a declaration

that must live next to your hole table, not a process detail you leave downstream. We cover the

fill-versus-cap distinction on its own in

via-in-pad: filled and capped are two declarations.

The practical consequence: **you cannot derive one number from the other without knowing the

fabricator's plating allowance.** You do not have that number, and you should not guess it. What you

can do is state which number you are giving and let the fabricator apply their own compensation.

That is the entire fix.

The one line that closes the question

Put this in the fabrication notes, in the drill file header comment, and in the specification sheet

you attach to the RFQ:

```

ALL HOLE SIZES IN THE DRILL FILE ARE FINISHED (POST-PLATING) SIZES.

FABRICATOR TO APPLY PLATING COMPENSATION.

NPTH HOLES ARE IN A SEPARATE LAYER/TOOL AND ARE TO BE HELD AT THE STATED SIZE, UNPLATED.

```

Three sentences. If your numbers are drilled sizes instead, invert the first line and say so

explicitly. The point is not which convention you pick — it is that the convention is stated by the

party who knows the design intent.

PTH and NPTH in one file: separation is not optional

The second half of that clarification email is about plating, and it is a harder problem than hole

size because a number cannot express it. A 3.2mm mounting hole and a 3.2mm plated hole are

identical in an Excellon tool list. Nothing in the coordinate data distinguishes them.

There are three workable ways to separate them, in descending order of how reliably they survive a

CAM handoff:

Separate drill files. Export two files with unmistakable names —

board-PTH.drl and board-NPTH.drl. This is the most robust method because the distinction

survives even if all documentation is lost. Every ECAD tool can do it.

Separate tools within one file, documented in a hole table. One file, but NPTH sizes are

assigned to their own tool numbers, and your fabrication drawing carries a table mapping each tool

to size, quantity, and PTH/NPTH status. Works well, depends on the drawing being read.

One file plus a note. "Holes at 3.2mm are non-plated." This is the weakest option. It relies on

prose being matched to geometry by a human under time pressure. It is what most RFQs actually do.

Why it matters commercially, not just technically: an NPTH that gets plated may still fit, and may

still pass electrical test, and may fail your assembly because the barrel is now electrically

connected to an internal plane it was supposed to clear. That failure surfaces after you have paid

for the boards. There is no inspection step that catches "this hole should not have been plated"

unless the acceptance documentation says which holes those are — which loops back to whether you

declared them.

A related case worth naming: holes that clear internal copper. If an NPTH passes through a

layer with a plane, the plane needs a clearance keepout around it. That clearance is a design

obligation, not a fabrication one. Sending an NPTH with no keepout and expecting the fabricator to

add one is asking someone else to make an electrical decision about your board.

Where hole tolerance is binding, and where it is decoration

You can write a hole tolerance in three places. They do not carry equal weight.

In the drill file header or as a CAD annotation. Lowest authority. CAM imports geometry;

comments in a drill file are frequently stripped or ignored by the import step. Treat anything here

as a convenience note, never as the contractual statement.

On the fabrication drawing / specification sheet. This is where tolerance belongs. A hole table

with tool, nominal size, tolerance, plating status and quantity is the document CAM actually works

from, and it is the document that gets quoted against. If a spec sheet says one thing and the drill

file implies another, the spec sheet wins — but only if it is attached to the RFQ rather than sent

later. We go through which spec-sheet fields become binding at quote time in

the fabrication specification sheet that binds your quote.

On the purchase order. Highest authority, narrowest scope. The PO is what an incoming inspection

plan is written against. A tolerance that exists on the drawing but not in the PO's acceptance

criteria is a design intent, not an acceptance criterion. If a hole dimension is genuinely

critical — press-fit, bearing fit, a connector with a locating boss — it should appear in both

places.

One thing to be careful about: **do not invent a tolerance number and put it on the drawing as if it

were a capability you were told about.** The PCB168 capabilities page publishes minimum drill sizes,

0.1mm mechanical and 0.075mm laser, and it publishes layer-to-layer registration of ±25μm. It does

not publish a hole diameter tolerance. If your fit needs a specific tolerance, the correct move is

to state the requirement and ask for confirmation before the PO, not to copy a number from a

generic table and assume it was agreed. A tolerance that was never confirmed is a dispute waiting

for a first article.

For general dimensional practice, IPC-2221 covers hole and land relationships, and IPC-6012

describes performance classes for rigid boards including plated hole requirements. Cite them by

name in your spec sheet if you want a class-level baseline. What they cannot do is tell the

fabricator whether *your* numbers are drilled or finished.

Holes that need more than a diameter

Three categories where diameter alone under-specifies the hole, and the RFQ needs an extra field:

Press-fit. The fit is to the pin, not to a nominal. State the connector part number and let the

fabricator work to the connector's published hole recommendation, including plating. A press-fit

hole quoted as a generic PTH at the same diameter is being quoted against a different requirement

than the one you have.

Countersunk and counterbored holes. These need a depth and an angle, and they need to say

whether the counterbore is plated. A diameter in a drill file cannot carry any of that; it belongs

on the drawing with a section view.

Slots and cutouts routed as holes. Some tools emit slots as a drill path, some as a rout path.

If a slot arrives as two coordinates and a tool diameter, its end geometry is ambiguous. Say which

features are routed and give the slot dimensions on the drawing.

The HDI exception: laser vias are not in your drill file's world

Everything above describes mechanically drilled holes. HDI microvias behave differently, and the

difference changes what you are expected to supply.

The PCB168 capabilities page lists HDI stackups from 1+N+1 up to 4+N+4, microvia diameter

≥0.075mm, laser drilling minimum 0.075mm, and minimum line width 2mil. A laser-drilled

microvia in that range is:

  • Blind, not through. It connects an outer layer to the layer directly beneath it. It has no

finished hole in the sense a mechanical hole does, because nothing passes through it.

  • Defined by the stackup, not by a tool list. Which layer pairs get microvias follows from the

build structure. A drill file that lists a 0.075mm tool without saying which layer transition it

serves is incomplete regardless of how the diameter is labelled.

  • Frequently filled. If the microvia sits under a pad, filled and capped applies, and there is

no open hole at all in the finished board.

So for HDI, "finished vs drilled" is the wrong question. The right inputs are: the build class

(1+N+1, 2+N+2, and so on), which layer transitions carry microvias, whether they are stacked or

staggered, and whether they are filled. The aspect-ratio and board-thickness constraints that come

with those choices are covered in

HDI aspect ratio, thin cores and board thickness limits,

and the HDI capability tiers are on the

HDI PCB product page. If you are still deciding between via structures

before you get to any of this, the PCB via design types guide

is the earlier step.

A mixed board — mechanical through holes plus laser microvias — needs both declarations. The

mechanical holes need the finished-versus-drilled statement and PTH/NPTH separation. The microvias

need the stackup declaration. Handling one and not the other is the most common way an HDI RFQ ends

up back in your inbox.

What to put in the RFQ package

A hole specification that does not generate a clarification email contains these fields:

  • Hole size convention, stated once, unambiguously: finished or drilled.
  • A hole table: tool number, nominal size, PTH/NPTH, quantity, and tolerance where it is

genuinely required.

  • PTH/NPTH separation method: separate files, or separate tools plus the table.
  • Fill and cap declaration for any via under a pad, with the affected pads identified.
  • Special holes called out individually: press-fit with connector part number, countersinks with

depth and angle, slots with their routed dimensions.

  • For HDI: build class, microvia layer transitions, stacked or staggered, filled or not.
  • Surface finish, because it is part of any tight fit — choose from the finishes on the

capabilities page rather than leaving it open.

None of this requires you to know the fabricator's plating allowance, etch compensation, or tooling

list. That is the point of the division of labour: you declare intent, they apply process

compensation. What breaks the division is a number with no label.

You can send the package to PCB168 for a quote and production review once those fields

are filled. If a field genuinely cannot be decided yet, mark it *to be confirmed* rather than

leaving it blank — an explicit open item gets a question in the quote, and a blank gets a house

default.

FAQ

Do drill files normally contain finished or drilled sizes?

Excellon was designed to describe tools and coordinates, so the default reading in most CAM flows

is tool diameter. Many ECAD tools can export either convention, and some export finished sizes by

default. Because the convention depends on your tool and your settings, it has to be stated

explicitly — you cannot rely on the fabricator's default matching yours.

Can I just give finished sizes and let the fabricator work it out?

Yes, and that is the recommended approach. State that all sizes are finished post-plating sizes and

that the fabricator applies plating compensation. You should not attempt to pre-compensate yourself,

because the allowance depends on their plating process and your board's copper distribution.

Is the finished hole ever larger than the drill?

Not for a plated hole. Plating grows inward, so a PTH is always smaller finished than drilled. An

unplated NPTH is held at the stated size, which is why NPTH must be identified — applying a plating

allowance to a hole that will not be plated makes it oversized.

How should I mark non-plated holes?

Most reliably, export them as a separate drill file with an unmistakable filename. Second best,

assign them their own tool numbers and document PTH/NPTH status in a hole table on the fabrication

drawing. A prose note alone is the weakest option because it depends on someone matching text to

geometry.

What hole tolerance can I expect?

The PCB168 capabilities page publishes minimum drill sizes of 0.1mm mechanical and 0.075mm laser,

but it does not publish a hole diameter tolerance. If your application needs a specific tolerance,

state the requirement in the RFQ and get it confirmed in writing before the PO. Do not copy a

tolerance from a generic industry table and treat it as agreed.

Do HDI laser microvias need a finished hole size?

No. A laser microvia is blind and, when it sits under a pad, typically filled and capped, so there

is no through-hole to dimension. What it needs instead is a build-class declaration, the layer

transitions it serves, stacked-or-staggered structure, and fill status. The capabilities page lists

microvia diameter at ≥0.075mm and stackups from 1+N+1 to 4+N+4 as the framing for those choices.

My board has both mechanical holes and microvias. What changes?

Both declarations are required, side by side. The mechanical holes need the finished-versus-drilled

statement plus PTH/NPTH separation; the microvias need the stackup and fill declaration. Supplying

only one of the two is the usual reason a mixed-technology RFQ comes back with questions.

Need PCBs for Your Project?

Get an instant quote — prototypes from $2, delivered worldwide.

Get Instant Quote

Related Articles