ReactBOM: PCB Data Export for Modern Web Apps
ReactBOM is a KiCad plugin fork derived from InteractiveHtmlBom. Unlike the original, which ships a self-contained HTML viewer, ReactBOM focuses on data export for consumption by modern web applications.
What It Does
ReactBOM reuses the upstream PCB parsers and pcbdata extraction pipeline, but outputs the same pcbdata object — optionally LZ-compressed and base64-encoded — for React applications.
Relationship to Upstream
| Upstream InteractiveHtmlBom | ReactBOM | |
|---|---|---|
| Goal | Single-file HTML BOM you open offline | pcbdata files for React apps |
| Viewer | Bundled JS/CSS in ibom.html | IBOMReact |
| Source | Full plugin | Fork; core parsing borrowed |
Data Pipeline
KiCad PCB (.kicad_pcb) │ ▼ ReactBOM plugin ← parsers, BOM fields, layer extraction │ ▼ pcbdata (JSON) ← see DATAFORMAT.md │ ├── uncompressed JSON → {project}.ibom.json └── compressed base64 → {project}.ibom.json.lz base64 encodedKey Features
- All upstream parsers: Components, nets, pads, tracks, zones, drawings
- Layer extraction: Full copper layer data for visualization
- Compression: Optional LZ compression for smaller payloads
- Base64 encoding: Easy embedding in HTML/JSON responses
- MIT license: Original credit terms apply
Credit & License
Plugin Python code lives under InteractiveHtmlBom/ and remains compatible with upstream. Credit and MIT license terms from the original project apply.
Additional borrowed code (also MIT):
- KiBom
units.py - svgpathtools-derived
svgpath.py
Use Cases
- Interactive BOM viewers in web applications
- PCB documentation sites
- Assembly workbench displays
- Quality inspection tools
Conclusion
ReactBOM enables modern web applications to work with KiCad PCB data without the overhead of bundling a full HTML viewer. Export once, visualize anywhere.
Plugin code, documentation, and companion React viewer available in the project repository.