ReactBOM: PCB Data Export for Modern Web Apps

Software Engineering Hardware Tools KiCad

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 InteractiveHtmlBomReactBOM
GoalSingle-file HTML BOM you open offlinepcbdata files for React apps
ViewerBundled JS/CSS in ibom.htmlIBOMReact
SourceFull pluginFork; 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 encoded

Key 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.