First entry in the Open Anything category. Drop a fab archive (.zip / .tar / .tar.gz / loose .gbr / .drl), inspect every layer, measure traces — without installing CAM software.
- Archives: zip, tar, and tar.gz auto-detected by magic bytes, extracted client-side via fflate + nanotar. Loose Gerber and Excellon files land directly.
- Layer auto-detection: whats-that-gerber classifies each file (top copper, bottom copper, soldermask, silkscreen, drill, outline). Manual override lives on each layer row when the heuristic guesses wrong.
- Realistic PCB palette: green soldermask, copper-tone traces, white silkscreen, dark drill — the colours hardware engineers expect, applied via composite blend so soldermask actually tints copper underneath. Per-layer color overrides via inline swatch picker.
- Three-pane CAM350 layout: layer rail left (drag-reorder, visibility, color, kind), canvas center, inspector accordion right (Job info, Layer properties, Aperture table, Measurements, View, About).
- Measure tool: two clicks → distance with snap-to-pad. Live preview line shows running distance before commit. Pad-center snap powered by an rbush spatial index per layer, built lazily on first hover.
- Status bar (CAM350 / GerbView convention): cursor X/Y leftmost, mode + active layer center, scale (px/mm) and "Local" trust pill right.
- Aperture table: sorted by D-code with shape, size, and pad-flash hit count — matches Altium / KiCad GerbView.
- Pan + zoom: wheel zoom, drag pan, fit-to-window, 1:1, mirror (bottom-side flip), 90° rotation. Auto-fit on first load using actual canvas dimensions.
- Export: PNG snapshot, SVG (per-layer vector groups, opens in Illustrator / Figma / Inkscape), DXF (LINE / ARC entities for mechanical CAD).
- URL fragment encoding: viewport, layer visibility, and tool mode round-trip through the hash so a snapshot is one copy-paste away. Nothing leaves the device.
- Sample board bundled (CC0): one-click Try Demo to verify the pipeline before dropping a real fab output.
Phase C (CAM350 parity) shipped same day:
- World View minimap floating in the canvas bottom-right with click-to-recenter — CAM350 / GerbView convention.
- Test panel with Fab-readiness score (0..100, R/Y/G band) aggregating layer completeness, DRC violations, board-size sanity. Downloadable Drill CSV + Aperture CSV for fab quote requests. Layer-completeness checklist (top/bottom copper + soldermask both sides + top silk + outline + drill).
- Drill table panel (separate from Aperture table — CAM350 / KiCad convention): Tool / Diameter / Hits sorted by tool number ascending.
- Stack-up visualiser as a left-rail tab alongside Layers — vertical layer-order display with kind + side labels.
- Command palette (⌘+/) with 20+ commands, fuzzy search, ↑↓ navigation, Enter-to-run. Industry-convention shortcut (Figma / Notion / Slack) — no browser conflict.
- Find modal (⌘+F) accepting D-code (D11), refdes (U1), or coords (10, 12) in a single field — recenters viewport on the first hit.
- Print snapshot — opens a fresh window with canvas + caption + auto-print + auto-close.
- Job info enrichment: Perimeter (bbox-based) + Area + Copper area (sum of stroke length × width + pad bbox area) alongside existing Width / Height / Units.
v2 features shipped same day:
- Realistic substrate: board area paints in soldermask green so bare-FR4 between traces reads as a real PCB. White drill holes punch through copper pads — JLCPCB / GC-Prevue rendering convention.
- Industry-standard layer rail: top toolbar (All / Top / Bot / hide-all), per-row up/down reorder arrows, alt-click eye = solo, right-click for "Move to top / bottom" + Kind + Side override menus. Drag a file onto the rail itself = swap doc.
- Trace-width probe: hover over a copper trace in Inspect mode → status bar reports the exact width.
- DRC-lite with three fab presets (JLCPCB 2-layer, OSH Park 4-layer, IPC Class 2). Checks min trace width, min drill, min annular ring, copper-to-edge clearance. Click a violation row → viewport recenters on that location.
- Pick-and-place / CPL overlay: drop a KiCad
.pos, JLCPCB CPL, or Altium PnP CSV; component centroids render as cyan dots with rotation ticks + designator labels.
- CAM350-style status bar: cursor X/Y leftmost, Mode + per-mode hint, active layer, scale (px/mm), Local trust pill right.
- Industry-standard cursors: default (Select), grab (Pan / Space-down), crosshair (Measure), help (Inspect).
- Cmd / Ctrl + wheel zoom (Figma / Acrobat / Altium convention) anchored on cursor position. Plain wheel no-op so accidental scrolls don't reframe the board. F or ⌘+0 fits to window. V / H / M / I switch modes.
Parser sits in a Web Worker — the main thread never blocks during a parse, and the heavy tracespace v4 + Node-stream shim load only on first drop. Lives at /tools/open-tools/gerber-viewer.
Gerber is a registered trademark of Ucamco NV. Loft Tools is an independent third-party viewer and is not affiliated with or endorsed by Ucamco.