KiCad 10 Gerber export settings explained, step by step
Which KiCad version this covers
KiCad 10.0.0 was released on 20 March 2026, and the current stable bug fix release is 10.0.6, published on 29 August 2026. The 10.0.6 changelog includes several fixes to fabrication outputs: back-drilled holes are now counted in the drill report, reversed layer names in back drill file names are fixed, and Gerber X3 output now honours the DNP and BOM exclude flags. If you are on an earlier 10.0.x build, update before you plot boards for an order.
The steps below follow the KiCad 10.0 PCB Editor manual. The Plot dialog in 10.0 also has a design variant selector, which matters if your project uses schematic variants.
Before you plot
Run DRC and fix every error. Check that the board outline on Edge.Cuts is closed: KiCad draws a shaded "board area shadow" only inside a closed outline, so a missing shadow means a gap somewhere. The manual notes that endpoints must coincide exactly and that outline shapes cannot overlap or intersect.
Step 1: open the Plot dialog
In the PCB Editor, go to File > Fabrication Outputs > Gerbers (.gbr). The same dialog opens from File > Plot, and the Plot format dropdown at the top must be set to Gerber.
Set an Output directory first. A relative path such as gerber/ is created inside the project folder, which keeps each revision's outputs next to the design and out of your home directory.
Step 2: choose the layers
The manual's instruction is short: check that every layer used on your board is enabled in the Include Layers list, because disabled layers are not plotted. For a normal two-layer board with parts on both sides, that means:
- F.Cu and B.Cu (plus In1.Cu, In2.Cu and so on for multilayer boards)
- F.Mask and B.Mask
- F.Silkscreen and B.Silkscreen
- F.Paste and B.Paste, if you want a stencil or assembly
- Edge.Cuts
This is the same list JLCPCB gives in its KiCad guide. The Fab, Courtyard and User layers are for documentation and assembly drawings. A bare-board fab does not use them, and sending them only adds files the CAM operator has to identify and ignore.
Plot on All Layers is a separate list: anything selected there is drawn on top of every plotted layer. Leave it empty for fabrication Gerbers unless the fab asks for something specific.
Step 3: general plot options
These options are shared by all plot formats. For Gerbers, the settings that matter are:
| Option | Setting for a fab order | Why |
|---|---|---|
| Plot drawing sheet | Off | The manual says it should usually be disabled for Gerbers. A title block on the copper layer becomes copper. |
| Subtract soldermask from silkscreen | On | Removes silkscreen from areas without solder mask, so ink does not land on pads. |
| Use drill/place file origin | Same as the drill files | When off, the origin is the top left corner of the worksheet. Gerbers and drill files must share one origin or the holes will not line up. |
| Check zone fills before plotting | On | Refills outdated zones before export. The manual warns that outputs may be incorrect if this is disabled. |
| Design variant | The variant you are ordering | New in KiCad 10. It affects DNP marks on the Fab layers, not copper. |
The Drill marks option only applies to formats other than Gerber, so you can ignore it here. Via tenting is also no longer a plot option: since KiCad 9.0 it is set globally in Board Setup and can be overridden per via.
Step 4: Gerber options
This block is where most fab-specific questions come from.
- Use Protel filename extensions. On gives names like
.GTLand.GBL; off gives.gbrfor every layer. JLCPCB's guide asks for Protel extensions. If you are unsure which extension means which layer, our guide to Gerber file extensions lists them. - Generate Gerber job file. Writes a
.gbrjobfile describing the stackup, materials and finish. It adds one small file and gives the fab's CAM a machine-readable summary of the board. - Coordinate format. The manual's advice is to check with your manufacturer. In the command line tool the valid precisions are 5 or 6 digits, with 6 as the default.
- Use extended X2 format. Adds attributes that identify each file's function and carry netlist information. The manual warns that some older CAM software may not accept it. JLCPCB's guide enables it.
- Include netlist attributes. Lets the fab's CAM compare copper against your netlist. With X2 disabled, KiCad writes this information as comments.
- Disable aperture macros. Leave it off. The manual says it is only for old or buggy CAM software, when the manufacturer asks.
Press Plot. The Output Messages panel lists every file written. Read it, since a missing layer shows up here before it shows up in a rejected order.
Step 5: generate the drill files
Click Generate Drill Files at the bottom of the Plot dialog, or use File > Fabrication Outputs > Drill Files (.drl). Use the same output folder as the Gerbers.
| Option | KiCad manual | JLCPCB guide |
|---|---|---|
| Drill file format | Excellon, required by most manufacturers | Excellon |
| Mirror Y axis | Off for third-party fabs | Off |
| Minimal header | Off unless requested | Off |
| PTH and NPTH in single file | Off unless requested (two files by default) | Off |
| Oval holes | Route command; alternate mode only if requested | Alternate drill mode |
| Origin | Absolute or drill/place file origin | Absolute |
| Drill units | Your choice | Millimeters |
| Zeros | Follow the fab's recommendation | Decimal format |
The oval hole setting is the one real disagreement. KiCad describes the route command as correct for most manufacturers, while JLCPCB explicitly asks for the alternate mode. If your board has slotted holes (USB connectors, barrel jacks, some terminal blocks), read your fab's own guide and set this accordingly. Boards without slots are not affected.
Keep plated and non-plated holes in separate files unless the fab says otherwise. By default KiCad writes them as two Excellon files, and both belong in the ZIP. A missing NPTH file means mounting holes that come back plated, or not drilled at all.
The Generate map option produces a drill map in PostScript, Gerber X2, DXF, SVG or PDF. The fab does not need it, but it is a quick way to check hole positions yourself.
Step 6: package and check
Put the Gerbers, both drill files and the job file into one ZIP. Then open that ZIP in a viewer that did not create it. KiCad's own GerbView works, and so does the PCB Tools viewer in the browser. Look for:
- every copper, mask and silkscreen layer present, plus Edge.Cuts;
- drill hits sitting in the centre of their pads;
- a single closed outline with cutouts where you expect them;
- no title block or frame on any fab layer.
Our pre-order Gerber checklist covers the full list. If you are still choosing where to send the files, the comparison of European and Chinese PCB manufacturers lists each fab's limits.
Scripting the same export with kicad-cli
If you regenerate outputs often, the command line tool avoids clicking through two dialogs every time. The basic commands are:
kicad-cli pcb export gerbers --output gerber/ --check-zones --subtract-soldermask board.kicad_pcb
kicad-cli pcb export drill --output gerber/ --excellon-separate-th --excellon-oval-format route board.kicad_pcb
Three details from the KiCad 10 CLI reference matter here:
- Without
--layers,export gerbersplots all layers, including Fab and User layers. Pass an explicit list, or use--board-plot-paramsto reuse the settings saved from the Plot dialog. - For drill export, the reference lists
alternateas the default oval hole mode, which is the opposite of what the manual calls correct for most fabs. Set--excellon-oval-formatexplicitly so the CLI and the dialog produce the same file. - Separate PTH and NPTH files need
--excellon-separate-th.
For a full release package (Gerbers, drill files, BOM, position files) in one step, KiCad also supports jobsets: a .kicad_jobset file that kicad-cli jobset run executes in sequence, with --stop-on-error to halt on the first failure.
Sources
- KiCad, Version 10.0.0 Released
- KiCad, KiCad 10.0.6 Release
- KiCad 10.0 documentation, PCB Editor: Plotting, Gerber options and Drill files
- KiCad 10.0 documentation, PCB Editor: Board outlines (Edge Cuts)
- KiCad 10.0 documentation, KiCad Command-Line Interface
- JLCPCB, How to generate Gerber and Drill files in KiCad 9
Check your Gerbers before you order
Load the ZIP or RAR your EDA tool exported and inspect every layer, drill and outline in the browser. Free, no account.
Open the Gerber viewer