What is a Drill File (and why your PCB project can’t do without it)

For engineers and procurement folks preparing PCBA or full box-build production, the drill file is a small but absolutely critical piece of the manufacturing dataset. It tells the board house exactly where holes go, what size they are, and whether they’re plated — information that directly affects electrical connectivity (vias), mechanical fasteners, connector fit and assembly reliability. Get this wrong and you can’t assemble the board, can’t route for manufacturability, or end up with costly scrap and rework.

Below is a concise, technically rigorous guide: what common drill file formats are, what the files do in the CAM workflow, and a step-by-step Altium Designer (AD) tutorial to export proper drill files your EMS/CM will accept.


Drill file basics — what it contains and why it matters

A drill (NC) file lists hole positions and sizes for all plated-through holes (PTH), non-plated holes (NPTH), vias, and tooling holes. Typical information includes:

  • X/Y coordinates for every hole center
  • Tool number (references a tool table that maps tool numbers to hole diameters)
  • Hole types or attributes (plated vs non-plated, tented, slot vs round)
  • Units (inches or mm) and coordinate format (number of integer/decimal places)
  • Optional comments or job identifiers for traceability

The board house uses the drill file in CAM to program their drill machines (or laser drilling systems). Drill-related deliverables usually include:

  • NC Drill (Excellon) file — machine-readable drill instructions
  • Drill drawing / drill map — human-readable PDF/CAD view showing hole sizes and callouts
  • Drill report / tool table — summary of tool numbers, diameters and hole counts

Delivering correct drill outputs prevents miscommunication and avoids the need for queries or fix-ups before production.


Common drill file formats (short, practical list)

Excellon (NC Drill) — the de-facto standard. Two main generations exist:

Excellon 1 — older; limited meta-data.

Excellon 2 — supports explicit tool diameter declarations and extra headers; preferred today.
Excellon files are plain text and include a header (M48), tool table, coordinate blocks, and an end (M30).

ODB++ — a richer, folder-based CAM package that contains drill data plus Gerbers, CAD, netlist and attribute metadata. Many fabs accept ODB++ as a single dataset.

IPC-2581 — an XML-based industry-standard exchange format that carries drill, layer, assembly, and netlist info. Good for fully automated CAM flows.

Gerber (RS-274X) + separate NC Drill — common combination: Gerbers for copper/soldermask/silkscreen + Excellon drill for holes.

Gerber files 1

Which to use? Ask your board house. If they accept ODB++ or IPC-2581, these are more robust. Excellon is safe and universal if exported correctly.


Minimal validation checklist before you send drill files

  • Units match (mm vs inch) — mismatches are a common fatal error.
  • Tool table lists diameters to the correct tolerance.
  • Plated vs non-plated classification is correct.
  • Slots are exported as slot definitions or as centerline drill pairs per fab requirement.
  • Top/bottom mirroring options (don’t mirror unless instructed).
  • Drill hits don’t fall inside component bodies where mechanical parts will interfere.
  • Provide drill drawing (PDF) and drill report alongside the NC files.

How to export NC Drill (Excellon) files from Altium Designer — step-by-step

These steps apply to recent Altium Designer releases. Menu names are stable across versions but may vary slightly by year; the workflow below is the standard CAM output path.

Open your PCB document (.PcbDoc) in Altium Designer.

File → Fabrication Outputs → NC Drill Files…

This opens the NC Drill Files generation dialog.

Output NC Drill files 1

Choose output folder and file name.

Use a job-specific folder and include your revision in filenames.

Units: select Millimeters or Inches to match your fab requirements.

Excellon Format / Version:

Choose Excellon 2 if available (preferred).

If your fab requests Excellon 1, select that explicitly.

Coordinate Format / Numeric Format:

Set required integer/decimal digits per fab spec (e.g., 3:3 or 2:4). If unsure, use a commonly accepted precision for your units (ask your board house).

Tooling / Drill Tables: enable Generate Drill Drawing and Generate Drill Map if available — this creates a human-readable PDF or DXF showing hole sizes and positions and a tool table.

Output NC Drill files 2

Select hole layers / hole types:

Check Plated and Non-Plated options so Excellon separates or tags them per fab needs.

If you use slots, enable Convert Slots to Pairs or Output Slots depending on your fab’s slot handling preference.

Zero suppression / Leading zeros: set per fab preference (leading or trailing zero suppression). When in doubt, default to the manufacturer’s standard.

Header Options: include job name, date, and revision in the header comment to aid traceability.

Click OK / Generate. AD will produce the .drl (or .txt) Excellon file(s) and the drill report/map files.

Inspect the output: open the .drl in a text editor and confirm the header (M48), tool table entries (e.g., T01C0.800), and data blocks. Also open the drill map PDF to visually verify hole placements and counts.

Package for upload: provide Gerbers/ODB++/IPC-2581, the Excellon drill file(s), the drill drawing (PDF), and a README specifying units, desired finish, and any special notes (e.g., tented vias, plug vias).


Closing (practical note for engineers & buyers)

A correct drill file avoids production delays and hidden costs. If you want, we can review your drill outputs (fast QC of the Excellon and drill map) before you submit them to the board house — a small step that often prevents costly mistakes.

If you’d like, send one sample Gerber + drill set (or a screenshot of your NC settings) and I can point out any potential issues specific to your design.

Share this article: