
Open any PCB manufacturing zip and you'll find Gerber files for the copper layers plus one or two files with extensions like .drl, .txt, .nc, or .drd. Those are Excellon drill files. They live alongside Gerber but speak a completely different language — not 2D shapes, but machine coordinates for a spinning drill bit. If Gerber tells the photoplotter where to etch copper, Excellon tells the CNC drill where to punch holes. Here's what's inside, why the format is 50 years old, and why getting it wrong ships bad boards.
Excellon is plain ASCII, like Gerber — but the syntax is from a different era. The header declares units (INCH or METRIC), zero-suppression (leading or trailing), and a tool table: T1C0.3 means tool 1 has a 0.3 mm diameter, T2C0.8 means tool 2 is 0.8 mm, and so on. Then comes the body: T1 selects a tool, X12500Y8750 drills a hit at those coordinates, and the machine keeps going until another tool change or M30 (program end). The entire file is just three things: unit declarations, a tool table, and a long list of (tool, X, Y) drill hits. Compare this to Gerber's aperture stamps — Excellon is much simpler because a drill bit only has one job.
Drop a Gerber zip with Excellon drills — see every hit land on a pad (or not) before the fab does.
Try MakerSuite 3D FreeA Gerber layer mistake shows up in the photoplot preview and someone catches it. An Excellon mistake doesn't show up until drill press runs on your $3/piece production order. Wrong units? Every hole is 25× off. Wrong zero-suppression? Every hole is in the wrong octant. Missing tool? Fab substitutes a generic size and your BGA package won't seat. Running an Excellon viewer in 10 seconds before you click Submit has saved more boards than any other single check.
Drill files contain the exact pin pattern of every component on your board — proprietary hardware configuration. Uploading to a cloud viewer is a risk for NDA work or pre-launch designs. MakerSuite 3D parses Excellon directly in your browser via JavaScript — no server, no upload, no cached copy. Same parsing logic the fabs use internally, just ported to run client-side.
Gerber describes 2D shapes that get stamped onto copper layers — pads, traces, silkscreen. Drilling is a different operation: a spinning bit plunging through the board at a specific coordinate with a specific diameter. That's not a 2D shape, it's a machine instruction. Excellon was designed in the 1970s for CNC drill presses and evolved alongside Gerber as the companion format. Every fab machine treats them separately, so keeping them separate files matches the physical workflow.
PTH (plated through-hole) drills are for electrical connections — via holes, component pin holes. The fab plates the hole walls with copper so signals can cross layers. NPTH (non-plated through-hole) drills are mechanical — mounting screws, alignment pins, logo cutouts. They have no copper plating inside. Most EDA tools export them as two separate Excellon files (e.g., .DRL and .NPTH) so the fab doesn't accidentally plate a mounting hole.
Yes — it's plain ASCII. You'll see a header with tool definitions (T1C0.3 means tool 1 is 0.3 mm diameter), then a sequence of tool changes and X/Y coordinates (X12500Y8750 drills a hit at those coordinates). The coordinate format depends on the header directives (INCH vs METRIC, leading-zero vs trailing-zero suppression). This is why Excellon parsers have to read the header carefully — the same number string means different things under different directives.
Either inches or millimeters, declared in the header via INCH or METRIC directives. Inches are historical (1970s US machinery); millimeters are more common in modern exports. Units have leading-zero or trailing-zero suppression, declared separately. Getting the units or zero-suppression wrong is the #2 cause of bad boards (after layer flip) — a drill hit meant for 12.500 mm can land at 1.2500 mm if the parser guesses wrong.
Yes — drop your Gerber zip and the viewer automatically detects any .drl, .txt, .nc, or .drd files inside and renders drill hits as 3D holes through the board. Plated and non-plated are distinguished by file name conventions (DRL vs NPTH). Same browser-only parsing as Gerber — no upload, no server round-trip.
Drop your Gerber zip — drills render automatically in 3D
Launch Gerber Viewer