BETA
Gerber

Gerber X2, ODB++ or IPC-2581: which PCB fabrication format to send

8 October 2026 · 7 min read · by PCB Tools

Four names for one job

Every fab order starts with the same question on the upload page: which files do you have? For most hobby and prototype work the answer is a ZIP of Gerber layers plus an Excellon drill file. Larger CAD tools and many fabs also talk about ODB++ and IPC-2581, and the Gerber format itself now comes in several flavours: RS-274X, X2 and X3.

All four carry the same core information: the copper, mask, legend and outline images the fab needs to build the board. They differ in how much else they carry, who controls the specification, and how many fabs will read them without a phone call. This article goes through each one using the format owners' own pages and the published requirements of a few fabs, then gives a practical rule for prototypes.

Gerber RS-274X: the baseline

Gerber is maintained by Ucamco, which calls its site the official Gerber format website. The format is printable 7-bit ASCII, so you can open any layer in a text editor and read it. The latest Gerber Layer Format Specification on Ucamco's download page is revision 2026.05, dated 19 May 2026. The previous one was 2024.05.

RS-274X, also called Extended Gerber, appeared in 1998 according to the Wikipedia history of the format. Its key feature is that the aperture definitions live inside the file. Its predecessor, Standard Gerber (RS-274-D), kept them in a separate, informal aperture list. Ucamco declared Standard Gerber obsolete in 2014, and Eurocircuits backed the decision: its article lists the reasons as no defined standard, apertures that cannot be machine-read reliably, manual CAM work to "paint" copper areas, and no support for attributes. Eurocircuits still handles RS-274-D files case by case but strongly advises against them. If your CAD tool still offers it, switch it off.

The limitation of RS-274X is that it is an image format. Each file is one layer. The drill data goes in a separate Excellon file, and the stackup, board thickness, finish and netlist have to travel in a readme or on the order form. That is where human errors creep in, as our article on common Gerber file errors shows.

Gerber X2 and X3: the same files, with metadata

Gerber X2 adds attributes to the RS-274X image. Ucamco gives examples: an attribute can say that an object is an SMD pad, a via pad or a fiducial, or give the net name of a connection. Attributes do not change the image, so an X2 file still plots correctly in an older reader. Wikipedia describes X2 as fully backward compatible with the older format for this reason.

X2 comes with a companion file, the Gerber job file. Ucamco says it carries fabrication characteristics such as board thickness and surface finish. The current Gerber Job Format Specification is revision 2020.08, with a JSON schema dated August 2023. In KiCad, the settings you enter under Board Setup, Board Finish only reach the fab through this job file, according to the KiCad 9 PCB Editor manual.

Gerber X3 goes one step further and adds component information, such as reference designators and part numbers, so the same Gerber set can describe assembly as well. Wikipedia dates the X3 draft to October 2019. Eurocircuits calls X3 the top performing format for transferring PCB and assembly data, and recommends X2 plus the job file if you want to send board data only.

ODB++: everything in one archive, one owner

ODB++ started as the job format of Valor's CAM system. Wikipedia gives the history: ODB in 1995, the "++" added in 1997 when component data was included, Valor bought by Mentor in 2010, and Mentor bought by Siemens in 2016. Siemens now controls the format. Its product page lists version 8.1 as current and says ODB++ interfaces are available at no cost, with a free viewer.

An ODB++ job is a folder tree of separate files, normally packed into a single tgz or ZIP archive. Altium's comparison describes it as everything in a classic Gerber set plus the data normally exported in separate files, in one archive of design, process and manufacturing files. Eurocircuits sums it up as suitable for customers willing to transfer their entire design: it is not human readable, but it holds everything needed to produce and assemble the board. Eurocircuits also warns against using an ODB++ archive as a container for several design versions.

The open question is ownership. Wikipedia notes that ODB++ is proprietary, that its openness is disputed, and that Mentor once required a non-disclosure agreement for the specification. Membership of the ODB++ Solutions Alliance is free on registration. For a prototype order this rarely matters. For a company that wants its data format independent of one EDA vendor, it does.

IPC-2581: the industry standard alternative

IPC-2581, also branded IPC-DPMX, is an IPC standard first developed in 2004. The IPC-2581 Consortium, a group of design and supply chain companies, describes it as an open, neutrally maintained and bidirectional standard. The design is held in one XML file. Altium's comparison article lists the content: copper images, the rigid and flex layer stack, netlist, BOM for pick and place, and fabrication and assembly notes.

Revision C was released by IPC on 1 December 2020. The main addition is bidirectional DFX: the fab can send manufacturing queries back inside the design file, and the designer answers them in the ECAD tool. Revision C also overhauled rigid-flex handling and added embedded components, cavities, edge plating, countersinks and counterbores, square drills and intended net shorts, according to the IPC release.

The weak point is adoption at the low-cost end. In our checks today, IPC-2581 appears on JLCPCB's list of formats but not on the input format pages of Eurocircuits or Beta Layout.

What KiCad exports

KiCad can write all four. The KiCad 8.0 release announcement added IPC-2581 export, describing it as an all-in-one package of fabrication and assembly data. The KiCad 9.0 release, published on 20 February 2025, listed ODB++ export among the PCB editor changes. The kicad-cli reference shows the options:

CommandRelevant options
pcb export gerbersX2 is on unless you pass --no-x2; netlist attributes unless --no-netlist; precision 5 or 6 (default 6)
pcb export drillDrill files, sent in the same archive as the Gerber layers
pcb export ipc2581Revision B or C (default C), mm or inch, optional ZIP, BOM columns mapped from footprint fields
pcb export odbCompression none, zip (default) or tgz; mm or inch

The same manual notes that gerbers (one file per layer) is the command to use for fabrication, and that the multi-layer gerber command is deprecated in 9.0. Our KiCad 10 Gerber export walkthrough covers the dialog settings in detail.

What the fabs accept

FabGerberODB++IPC-2581Native CAD
CN JLCPCBRS-274X, X2YesYesNot listed; export to Gerber
EU EurocircuitsX, X2 plus, X3 (job file required)YesNot listedPreferred (Eagle, KiCad)
EU Beta LayoutRS-274X, X2YesNot listedMany tools, incl. KiCad

Two details stand out. Eurocircuits prefers native CAD files because it reads them directly into its CAM system, and it requires a Gerber job file whenever you send Gerber. JLCPCB, on the other hand, recommends converting native files to Gerber yourself, because a fab converting your file may change the silkscreen or other settings. JLCPCB also expects drill data as separate Excellon files in the same ZIP or RAR archive.

Drill files are still separate

Altium's comparison notes that X2 does not absorb the drill data or netlist: they still travel as separate files. ODB++ and IPC-2581 are built as single packages instead. If you send Gerber, check that the Excellon files are in the archive, with plated and non-plated holes where your tool splits them.

Which one to send

  1. Prototype at a low-cost fab: Gerber X2 layers, Excellon drill files and, if the fab asks for it, the Gerber job file, in one ZIP. Every fab in the table reads it, and you can inspect every layer yourself.
  2. European fab that takes your CAD tool: read its input page. Eurocircuits prefers the native KiCad file, and still wants the job file if you send Gerber.
  3. Assembled board with BOM and placement in one package: Gerber X3, ODB++ or IPC-2581, depending on what the assembler lists. Ask before you export.
  4. Rigid-flex, embedded components or impedance-controlled stackups at a fab with current CAM software: IPC-2581 revision C or ODB++ carry the stackup and build data that a plain Gerber set leaves to a readme.
  5. Never: RS-274-D. It has been obsolete since 2014.

Whatever format the fab receives, the board is built from the images in it. Before you upload, open the ZIP in the PCB Tools Gerber viewer and check the layers, then go through the guide to checking Gerber files before ordering. If the file names confuse you, the Gerber file extensions guide maps each extension to its layer.

Sources

All sources checked on 8 October 2026.

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

Share: LinkedInRedditX

More from the blog

2 October 2026 · 5 min read

HASL, ENIG or OSP: which PCB surface finish for prototypes

Compare leaded and lead-free HASL, ENIG and OSP for prototype PCBs: thickness, shelf life, flatness and soldering limits, and when each finish makes sense.

ManufacturingSurface finishPrototyping
25 September 2026 · 7 min read

Common Gerber file errors and how to fix them before ordering

Missing outlines, lost drill files, offsets, mirrored layers and obsolete Gerber: the file errors fabs flag most often, and how to fix each one before you pay.

GerberManufacturingChecklist
23 September 2026 · 6 min read

KiCad 10 Gerber export settings explained, step by step

Every option in the KiCad 10 Plot and Drill Files dialogs, what the defaults do, where fab guides disagree, and how to script the same export with kicad-cli.

KiCadGerberTutorial