KiCad board viewer
Open a KiCad board (.kicad_pcb, KiCad 6–9) in the browser and look round it — every layer toggled, tracks, vias, zones, pads and footprints drawn as KiCad places them, the back seen from underneath, a net lit up with a click (its pads and track length), measure, find a part, board facts with the smallest clearance, export the visible layers as SVG or PNG, and send the outline to the enclosure maker.
Added
Works with
- Parametric parts CNC and 3D printingsends the board outline, mounting holes and edge connectors to the PCB enclosure maker
- Interactive assembly BOM Electronicsopens the board you are looking at in the interactive assembly BOM, and takes back the one open there
How to use it
I wanted to look at a board without starting KiCad: on a phone at the bench, on a machine without KiCad,
or to check what a file I was sent actually holds. This reads the .kicad_pcb itself and draws it, in
your browser. The file is not uploaded.
How to use it
-
Open a
.kicad_pcb(or drop it on the view). KiCad 6, 7, 8 and 9 files open; a single footprint (.kicad_mod) opens too. The sample is a small 4-layer sensor board of mine. The last board you opened comes back next time. -
Layers: tick the layers you want. They are grouped as copper, silkscreen, mask and paste, courtyard and fab, and edge and user layers, in KiCad’s colours, with the names the board gives them. Copper, Front assembly and Usual set several at once. Tracks, zone fills and text can be hidden separately.
-
Front / Back: the back is drawn as if you turned the board over, so its text reads the right way round. Parts on the back are where KiCad put them (KiCad stores them already flipped). Realistic draws the side you are looking at as it comes back from the fab: FR-4, green mask, gold pads, white silk and holes.
-
Click copper (a pad, a track, a via or a zone) to light up its net. The card gives the net’s name, how many pads and vias it has, its track length in total and per layer, and the parts on it. Click it again, or press Esc, to clear it. Clicking a part away from its pads shows its reference, value, footprint, side, position, rotation and fields. The Nets tab lists every net with its pad count and length.
-
📏 Measure: click two points. They snap to pad centres, vias and track ends. You get the distance, its X and Y parts and the angle. Esc clears.
-
Find: type a reference, a value or a footprint name (
R12,100nF,SOT-23). Enter jumps to the first match and zooms to it. The view turns over for a part on the back. -
Board: the outline’s size, thickness, copper layers, footprint counts (front, back, SMD, through-hole), pads, vias, nets, track length, the thinnest track, smallest drill and smallest annular ring, every hole size with its count (plated, non-plated, slots), every track width with its total length, and the smallest clearance between copper of different nets, with the closest pairs listed (click one to go there).
-
Export: SVG or PNG of the visible layers from the side you are looking at, with the lit net if there is one. The SVG is 1:1 in millimetres, so it prints to scale. The PNG is drawn from it at 10–80 pixels per millimetre.
-
Make an enclosure → hands the board to the PCB enclosure generator in parametric parts: its outline, mounting holes and the connectors on its edge (USB, barrel jack, RJ45 and the like) become the box, standoffs and cut-outs. Only the outline, the footprints' courtyards and pads go over, through this browser’s storage.
-
Assembly BOM → opens the same board in the interactive assembly BOM.
Pan by dragging, zoom with the wheel, a pinch or the buttons. Keys: F front, B back, M measure, + − 0 zoom, Esc clears. ⛶ Full screen gives the view the whole screen.
Works in current Chrome, Edge, Firefox and Safari, on desktop and phone.
How it reads the file
The file is parsed as KiCad’s S-expressions (the reader, kicad-sexpr.js, is shared by the KiCad
tools). A footprint’s pads and drawings are turned by its rotation and moved to its position. Pad
angles in KiCad 6 and later files already include the footprint’s rotation. Arcs are drawn through
their start, middle and end points. Zones are drawn from the fills KiCad saved in the file. If a
board was saved without filling its zones, only the zone outlines exist and nothing is drawn for
them. ${REFERENCE} and ${VALUE} in footprint text are filled in. Hidden fields stay hidden.
I tested it against KiCad itself: kicad-cli 9 reads my test boards (written in the KiCad 6, 8 and 9 dialects) and writes their pad positions and nets (IPC-D-356), their footprint positions and rotations (position file) and its DRC report. The viewer’s pads, nets, positions, arc lengths and smallest clearance match them.
Limits
-
The clearance figure is approximate: pads, tracks and vias are compared on each copper layer, arcs as short straight pieces, custom pads by their primitives, and zone fills are left out (KiCad fills them around everything else). Thermal reliefs, net classes and rules are not checked. KiCad’s DRC is the real check.
-
Text is drawn in a monospaced system font, not KiCad’s stroke font, so its width and spacing differ a little. Dimensions, images, text boxes and tables are not drawn.
-
Pad shapes: circle, oval, rectangle, rounded rectangle, chamfered rectangle, trapezoid and custom (anchor plus primitives). Mask and paste openings are drawn at pad size, without the margins.
-
KiCad 5 files (and earlier) open with a warning. Most of a board draws, but footprint text angles and some arcs may be off. Open and save the board in KiCad 6 or later.
-
There is no 3-D view. KiCad’s own 3-D viewer, or its STEP export, does that properly.
Related: Gerber viewer and DFM check (the files the fab sees), KiCad BOM rollup (from the schematic, with stock and prices), PCB trace width and current, PCB stackup and impedance, reflow profile, parts inventory.
Privacy
Everything happens in your browser. The board is read from the file you choose and kept only in this browser’s storage (IndexedDB), so it opens again next time and the assembly BOM can open it. Nothing is sent anywhere. The sample board comes from this site.
Linking to an example
Share link copies a URL with the view settings: side, mode, units, and whether tracks, zones and text are shown. It never includes your board, so a link opens on the sample.
| Parameter | Meaning |
|---|---|
|
A preset (below) |
|
|
|
|
|
|
|
|
Feedback is a gift. Something to improve, a feature to add, or a bug? Tell me.
Runs entirely in your browser; nothing you type leaves this page.