Tooling

BOM, Sourcing & Costing

Generate, cost, and ship a bill of materials — interactive HTML BOMs, distributor APIs, JLC-friendly tooling.

Where a hardware design becomes a buyable thing. Pairs with PCB / EDA Suites, Footprint & Symbol Libraries, Datasheet Aggregators, and Hardware CI/CD.

BOM extraction from EDA tools

  • KiCad's built-in BOM tool (v8+) — the rebuilt symbol-fields-driven BOM in KiCad 8/9 finally made plugins optional for most projects. CSV / HTML / XML / JSON output.
  • InteractiveHTMLBOM (ibom) — generates a single-file interactive HTML BOM with a clickable PCB image; the assembly worker's best friend. Originally KiCad-only; now supports Eagle and Fusion. MIT.
  • KiBoM — older, scriptable KiCad BOM exporter. Mostly superseded by built-in v8+ BOM and KiBot.
  • bom-ex / kicad-bom-exporter — community Python BOMs.
  • Altium / Eagle / Fusion all have BOM exporters in-app; LibrePCB, Horizon EDA also.

Sourcing / pricing aggregators

  • Octopart API — Nexar's part-search API (Altium-owned). Free tier with rate limits; paid for production. The reference cross-distributor pricing/availability source.
  • DigiKey API — official, free with developer account.
  • Mouser API — official, free with key.
  • Findchips — older aggregator, still useful for spot pricing checks.
  • LCSC / JLCPCB Parts Library — pricing via EasyEDA; not a public API but scrapeable; easyeda2kicad pulls part-level info.
  • Arrow / Newark / Avnet — distributor APIs; less commonly automated.

Pricing / multi-distributor BOM tools

  • KiCost (KiCad ecosystem) — multi-distributor BOM costing for KiCad / Eagle. Outputs an XLSX with quantity-break pricing across DigiKey, Mouser, Newark, etc. Open source.
  • partsbox.com — inventory + BOM tracker; free tier; useful when you re-spin the same product.
  • InventTree — open-source self-hosted parts/inventory/BOM management. The "PartKeepr replacement" most people land on. Apache-2.
  • PartKeepr — older self-hosted parts inventory; mostly archived now.

JLCPCB-assembly-specific tooling

  • jlcparts — searchable mirror of the JLCPCB Parts Library; the de-facto way to know if a part is actually stocked at JLC before designing it in.
  • kicad-jlcpcb-tools plugin — KiCad plugin for assigning LCSC numbers, exporting JLC-format BOM and CPL (centroid) files in one click.
  • easyeda2kicad — pulls EasyEDA/LCSC parts into KiCad with footprint, 3D model, and LCSC field pre-filled.
  • JLC2KiCad-LIB — alternative library-pull pipeline.
  • KiBot has a JLCPCB outputs preset; see Hardware CI/CD.

Custom-rule / DfM / DfA

  • InteractiveHTMLBOM counts as DfA tooling because it's what assembly houses actually use.
  • KiCad's DfM rules + DRC — see PCB / EDA Suites.
  • kibot's dfm outputs — automated PCB-house-specific manufacturability checks.

Pick this if…

  • You're in KiCad in 2026: built-in BOM + InteractiveHTMLBOM is the floor; add KiBot for CI.
  • Cross-distributor pricing on a real product: KiCost (FOSS) or Octopart's API (commercial-friendly).
  • Self-hosted parts inventory across projects: InventTree.
  • Assembling at JLCPCB: kicad-jlcpcb-tools + jlcparts + InteractiveHTMLBOM.
  • Need a single API key for everything: Octopart / Nexar.
  • You hand the BOM to a paid assembly house: the assembly house's own BOM template usually wins; export plain CSV from your EDA and re-map.

On this page