Free Gerber viewer and ODB++ viewer, online in your browser
The Gerber viewer runs online in your browser, and your fabrication data still stay inside it: the package is unpacked, drawn and measured on your own machine.
Gerber RS-274X and X2, Excellon drill files, ODB++ as a folder, ZIP or TGZ.
Is there a free ODB++ viewer?
Yes, this one. The PCBoffer Gerber viewer and ODB++ viewer costs nothing and needs no account. Your layout does not leave the browser: unpacking, layer detection, drawing and measuring all run on your own machine.
The file stays in the browser
Unpacking, layer detection, drawing and measuring all run on your own machine. Uploading an unreleased layout to a viewer that draws it on its own server hands it to somebody else's machine. Here it stays with you, ours included: the model catalogue only ever sees the name of a footprint or a manufacturer part number, never your layout.
Drop the package exactly as your customer sent it
Drop in the archive exactly as it arrived. If the Gerber set sits as a ZIP inside the ZIP, two levels down or twice over, you still see the board straight away: no hunting for the right folder, no tidied-up copy made for the viewer.
That also brings in the holes that sit somewhere else in the package, in a folder of their own beside the Gerber set for instance. Open only the Gerber folder and you measure a board without its holes and price it too low, because the holes are a line of their own in the board price.
Look at your package
Drop the archive or the folder into the field. Nothing is installed and your file goes nowhere: the viewer reports board size, layer count and hole count, and draws every layer on its own. Where the delivery states layer thicknesses, a cross-section of the stack sits below the drawing and a switch puts the stack into the room as a body you can turn; where it also states component positions, your parts stand on it with their footprints.
Drop the fabrication data here
A ZIP exactly as the board house receives it, a ZIP inside a ZIP included. Or the individual Gerber and drill files. Or the whole folder.
Your fabrication data stay in this browser, no account, no e-mail address. Only when you switch the part bodies on does the name of a footprint go to the model catalogue, never the layout and never a net list.
The example is the RoyalBlue54L Feather with eight copper layers, open hardware under CERN-OHL-V2-P from the KiCad demo projects, exported here as a Gerber set: layers, dimensions and holes are all there. For the cross-section and the part bodies, drop your own ODB++ job into the field above; it stays in this browser.
ODB++ states what a Gerber set leaves you to guess
Gerber: one drawing per layer
A Gerber set is a stack of drawings, one per layer, plus a drill program in Excellon format. Each file says which areas are exposed, but no file says which layer it is. That lives in the file name, and every CAD system writes it differently. This viewer still gets the layer right: it reads the layer list in the `.gbrjob` job file and the Gerber X2 attribute `TF.FileFunction`, and it weighs the file names against each other instead of trusting a single match. So the stack comes out in the right order, whichever CAD system your package came from.
ODB++: a declared stack instead of guessed names
An ODB++ job states what it holds. The file `matrix/matrix` names the order, type and polarity of every layer, `profile` gives the board outline, and component positions and the netlist ship as records of their own. None of it has to be inferred from a file name.
Why that decides what the board costs
A misassigned layer changes the price. If an inner layer is not recognised as copper, the costing works with too few layers, and the layer stack is the single largest item in the board price.
Component positions and the netlist are the second difference. Placement time follows from them without a separate pick-and-place file. So when a delivery holds both formats, the viewer reads the ODB++ job and tells you so: you know which of the two sets carries the picture instead of guessing it from the result.
Both formats in detail
What a Gerber file is, and what ODB++ describes beyond it, is written out in the glossary.
The parts stand on the board as bodies
The switch shows the assembled board, not the bare laminate: the parts sit on the copper with their package size and their height, so you see before the first prototype whether the electrolytic capacitor fits under the lid and whether the pin header clears the enclosure wall. That needs the component positions out of your delivery: an ODB++ job carries them, a Gerber set does not.
The same housing rules your quote is built on
Which housing family, which package size and which nominal height a part gets is decided by the published rules file of the cost engine: those figures come from the same tables the quote uses. 27 of the 28 housing families in that file are drawn, from a chip through a package with leads to a can, a terminal block, a pin header, a relay, a shielding can, a transformer and a potentiometer. The assignment rests on 68 housing classes in that rules file, so what the viewer draws is classified exactly as the costing will classify it later.
Every height says where it came from
Hover a part and its height carries its source: eight paths through the rules lead to a height, from the CAD system through the datasheet and the components database to the nominal value of the package size, and four of them count as an estimate; where a real manufacturer model stands, the height is measured off that model. Estimated bodies are drawn see-through, measured ones solid. Where no source names a height, a visible sliver of 0.2 mm stays in place instead of an invented number, so you can tell at a glance which height you can plan an enclosure around.
Where a real manufacturer model exists, that is what stands on the board
Where the model catalogue knows a part, the viewer draws the manufacturer's real CAD model instead of the housing built from the rules, found by footprint or by manufacturer part number. On the KiCad reference boards every third placement stands there as a real manufacturer model, 1,359 of 4,154; the rest keep the housing the rules produce. The catalogue holds 7,245 KiCad footprints for this, plus 27 Würth part numbers. If it cannot be reached, the viewer keeps drawing from the rules and the picture stays complete.
As long as you are looking at the drawing, nothing about your board leaves your machine. Only when you switch to the body does the viewer ask the catalogue for its models: what goes to it is the name of a footprint or a manufacturer part number, never the layout and never a net list. Each name is asked for once, and only where the catalogue holds a model: that shows which footprints and which part numbers sit on your board, but no schematic and no layout.
Gerber export from KiCad
The Gerber export from KiCad is the step before the viewer, here in four moves. The layer selection decides whether a fabricator can quote from the result.
Open the fabrication outputs
In the board editor under File, Fabrication Outputs, Gerbers.
Choose the layers
Every copper layer, both solder masks, both silkscreens, both paste layers and Edge.Cuts. The fab and courtyard layers do not belong in a production package.
Include the job file
Leave the Gerber job file option switched on. It writes the `.gbrjob` file carrying the layer list, which removes every guess from the file names.
Write the drill file
In the same dialogue, export the drill files in Excellon format. Without them the fabricator has no hole count, and the hole count goes straight into the board price.
Then put all the files into one ZIP. Flat or nested makes no difference to this viewer; to a fabricator it sometimes does.
How far this picture carries
- This tool shows you what is in your file. Whether the layout can be manufactured that way is answered by the PCBoffer DFM analysis, and that is the step after this one.
- For the board outline you get two readings instead of one guessed one: the whole contour layer and its largest connected shape. A contour layer does not say whether it draws a single board or a panel, and which of the two readings applies is something you know better than any tool.
- Put in an ODB++ job and you also get the cross-section through the stack and the body you can turn, because it states the layer thicknesses; where it also states component positions, your parts stand on it. A Gerber set carries neither of the two and therefore stays with the flat picture. Drilled holes are counted and drawn in the layer view; they are not shown in the body.
- You can see on every part height how firm it is: estimated bodies are drawn see-through, measured ones solid, and hovering a part shows where its height came from. Four of the eight height sources in the rules count as an estimate, and you never have to guess which one is in front of you.
- Very large packages meet an unpacking ceiling. You learn about it in the picture, not after you have measured half a board.
The same layer assignment your quote uses
What you see here is the board the price is later calculated on: the reader in the browser makes the same layer decision the PCBoffer costing makes, no second opinion and no second layer count. In one respect it is stricter, and that works in your favour: it admits a file by content rather than by name, so an ordering guide called `How-to-order-PCB.txt` does not end up in the picture as a drill program.
The picture itself is checked against the costing too: the position, size, turn and arc direction of every object. Where the two pictures differ, the difference is named and recalculated, not rounded away.
Where to go once the picture is right
Trace width and impedance
How wide a trace has to be for a given current, what characteristic impedance follows from a stack-up, and what the chosen width means in manufacturing.
To the trace width calculatorPanel and area yield
How many boards of your outline fit on one panel, how large it becomes and how much area is left unused.
To the panel calculatorAnd what does the assembly cost?
The viewer does not answer that. PCBoffer computes the manufacturing cost from the same fabrication data: bare board, placement, setup and test, with the machines and hourly rates of your own plant.
See the costingFrequently asked questions
- Is there a free ODB++ viewer?
- Yes, this one. It shows ODB++ and Gerber, costs nothing and needs no account. Your layout does not leave the browser: unpacking, layer detection, drawing and measuring all run on your own machine. An ODB++ job is read from a folder, from a ZIP or from a TGZ.
- Is my fabrication data uploaded when I look at it?
- No. Your layout and your net list stay on your own machine, and drawing them sends the file nowhere. That is what makes this usable on an unreleased layout: any viewer that needs the file in order to compute has to take it onto somebody else's machine, and this one does not need it. When a real CAD model is fetched, only the name of a footprint or a manufacturer part number goes to the catalogue.
- Do I have to unpack the ZIP first?
- No, the package goes in exactly as you received it. If the Gerber set sits as a ZIP inside the ZIP, two levels down or twice over, you still see the board straight away: the viewer lifts the Gerber set out of every level, and you make no tidied-up copy.
- What is the difference between Gerber and ODB++?
- A Gerber set is one drawing per layer, and which layer it is lives only in the file name. An ODB++ job explains itself: the order, type and polarity of every layer are stated in the file, together with component positions and the netlist. For a costing that is the difference between reading a value and inferring it.ODB++ in the glossary
- Does the viewer show the board in 3D?
- Yes, as soon as the delivery states layer thicknesses. A cross-section of the stack then sits below the drawing, and a switch puts the stack into the room as a body you can turn: length and width to scale in millimetres, height stretched tenfold by default and adjustable between 1 and 20 by hand. Every copper layer carries its own artwork, so the body shows metal exactly where your file has metal. Where the delivery also states component positions, the placed parts stand on top of it as bodies. A Gerber set names neither base material nor layer thickness, so there the switch stays off and says why.
- Does the viewer draw the components as well, or only the board?
- The components as well, as bodies standing on the board. Which housing a part gets is decided by the published rules file of the cost engine, the same one the quoted price comes from; 27 of the 28 housing families in that file are drawn. Where the model catalogue knows a part, the manufacturer's real CAD model stands on the board instead, found by footprint or by manufacturer part number. Every height carries its source: estimated bodies are drawn see-through, measured ones solid.
- Why does the viewer report two different board sizes?
- Because a contour layer does not say whether it draws a single board or a panel. It also carries cut-outs, break-off tabs and sometimes a mark placed beside the board. So both are shown: the size of the whole contour layer and the size of its largest connected shape. Which one applies depends on the boards per panel, and that is not in the file.
See PCBoffer in action: book a demo
30 minutes with founder Dr. Josip Strutz, on your own bill of materials: what PCBoffer calculates from it and where it takes work off your hands.
- 30-minute live session via Google Meet
- Tailored to your parts and your BOM
- No commitment required
Google Meet demo
Google Calendar