Create a Bill of Materials Online Free
🚀 Fill In Your Parts List
Add every part with quantity and unit cost below — the total build cost updates live. Nothing leaves your device.
🏢 Company / Project
📄 BOM Details
🔩 Parts List
✍️ Notes & Sign-Off
🖼️ Live Preview
Your Company Name
| # | Part Name | Part #/SKU | Supplier | Category | Qty | Unit | Unit Cost | Ext. Cost |
|---|
Prepared By
Checked / Approved By
Quick answer: Enter your project and assembly details, then add every part with its part number, supplier, category, quantity, unit, and unit cost - the extended cost per line and the grand total build cost calculate automatically. Click Download PDF to get a print-ready Bill of Materials with a blueprint-style title block. Everything happens locally in your browser using jsPDF and jsPDF-AutoTable to draw real vector text - not a screenshot image. Nothing is ever sent to a server.
- Cost: Free, unlimited BOMs, no signup.
- Where it runs: 100% in your browser — no upload, no server storage.
- Output: A real text-based PDF (selectable, searchable, small file size).
- Per-line fields: Part name, part number/SKU, supplier, category, quantity, unit, unit cost.
- Automatic calculation: Extended cost per row and total build cost roll-up.
- Version control: Dedicated BOM number and revision fields.
🔧 Flat Parts List: This tool builds a single-level BOM (all parts in one list) rather than a multi-level, nested sub-assembly tree.
🏷️ Track Suppliers Per Part: Filling in the Supplier and Part Number fields for every row makes re-ordering and sourcing much faster later.
🖨️ Real Text, Not a Screenshot: The PDF is built from actual vector text using jsPDF, so it stays sharp at any zoom, the text is selectable/searchable, and the file stays small.
🔒 Privacy: Your parts data, including any logo you upload, is processed locally — it is never uploaded, transmitted, or stored anywhere.
✅ 100% Private: Your BOM, including your logo, is generated locally in your browser using JavaScript. No data is ever uploaded to a server or stored anywhere.
Note: Your document data will be cleared once your session ends or you clear the app.
How to Create a Bill of Materials PDF
Enter Project Details
Add the project name, assembly/product name, BOM number, and revision.
Add Each Part
List every part with its part number, supplier, category, quantity, unit, and unit cost.
Review the Cost Roll-Up
Check the automatically calculated extended costs and grand total.
Download the PDF
Add sign-off details, then click Download PDF to save the BOM.
🔒 Your Parts Data Never Leaves Your Device
This tool builds the entire Bill of Materials — including your logo — using jsPDF and jsPDF-AutoTable running entirely inside your browser tab. There is no upload step, no server-side processing, and no network request that contains your part numbers, suppliers, or costs.
Common Uses for a BOM Generator
Electronics Prototyping
List every component in a PCB build with part numbers and supplier references.
Furniture & Woodworking
Track raw materials, hardware, and finishes needed for a custom build.
Small-Batch Manufacturing
Plan procurement and estimate per-unit cost before committing to a production run.
Product & Textile Makers
List fabrics, trims, and accessories needed per finished product.
Maker & Hobbyist Projects
Keep a clean parts list for a 3D-printing, robotics, or DIY electronics project.
Kit & Bundle Assembly
Document exactly what goes into a packaged kit before it ships.
Why Use This BOM Generator?
- Fully Client-Side: jsPDF and jsPDF-AutoTable both run in your browser — no upload.
- Real Vector Text: Sharp, selectable, searchable PDF output — not a flattened screenshot.
- Live Preview: See the parts table and cost roll-up exactly as it will appear in the PDF.
- Built for Small Teams: No PLM/ERP subscription needed - just a clean, structured parts list.
- Automatic Cost Roll-Up: Extended cost per row and grand total calculate as you type.
- Supplier & Part Number Tracking: Dedicated fields to keep sourcing information organized.
- Revision Control: BOM number and revision fields to track changes over time.
- 100% Free & Private: No account, no watermark, no server storing your data.
Bill of Materials (BOM) Generator – Complete Guide
Every physical product, from a hobbyist's 3D-printed enclosure to a small factory's production run, is really just a list of parts assembled in the right order. Keeping that list loose in a spreadsheet or scattered across supplier invoices makes ordering slow and error-prone. A proper Bill of Materials fixes that - one structured document listing exactly what's needed, how much, from where, and at what cost.
What Makes a Good Bill of Materials?
A useful BOM identifies the assembly it belongs to, carries a BOM number and revision for version control, and lists every part with enough detail to actually order it again - part name, part number or SKU, supplier, category, quantity, unit of measure, and unit cost. This tool covers all of that, plus automatic extended cost per line and a grand total, so you always know the real cost of building one unit.
How This Generator Actually Works
As you fill in the form, every field is read directly into a JavaScript object representing your BOM, and a live HTML preview - styled with an engineering-style title block similar to a technical drawing - re-renders instantly so you can check the layout before downloading anything. Every time you change a part's quantity or unit cost, the tool multiplies the two to get that row's extended cost, then sums every row into a grand total, updating both the stats strip and the preview immediately. When you click Download PDF, that same data is handed to jsPDF, which draws the title block, company details, and totals as genuine vector text - not a picture of text - directly onto a PDF page. The parts table itself is built with jsPDF-AutoTable, which handles column widths, borders, and automatic pagination if your parts list runs long. The finished document is then handed back to your browser as a file to save - at no point does any of this data leave your device or touch a server.
BOM vs Purchase Order vs Inventory List
| Aspect | Bill of Materials (this tool) | Purchase Order | Inventory List |
|---|---|---|---|
| Purpose | Defines what's needed to build one unit | Requests specific parts from a supplier | Tracks what's currently in stock |
| Scope | Per product/assembly | Per order placed | Across the whole warehouse |
| Changes with | Design revisions | Each new order | Every stock movement |
Flat BOM vs Multi-Level BOM
| Type | Structure | Best For |
|---|---|---|
| Flat BOM | Single list of all parts | Simple products, small assemblies, this tool |
| Multi-Level BOM | Parts nested under sub-assemblies | Complex products with many sub-assemblies |
Security and Privacy Considerations
- No Data Upload: Every field you fill in, and any logo you upload, stays on your device.
- No Server Processing: PDF generation runs entirely as client-side JavaScript.
- No Storage: Nothing about your BOM is saved once you close or refresh the tab.
- No Account Needed: There is no login, tracking of your parts data, or usage cap.
Browser Compatibility and Technical Requirements
This BOM Generator works in modern browsers that support:
- File API / FileReader: To read an uploaded logo image locally.
- JavaScript PDF generation (jsPDF): For building the actual downloadable document.
- Blob downloads: For saving the finished PDF to your device.
Supported Browsers:
- ✅ Chrome/Edge 76+
- ✅ Firefox 55+
- ✅ Safari 13.1+
- ✅ Mobile Chrome (Android), Mobile Safari (iOS) — download supported
Troubleshooting Common Issues
Explanation: The PDF needs at least one row with a part name filled in to be a meaningful BOM. Solution: Fill in at least one row under Parts List, then try downloading again.
Explanation: Only PNG and JPG logo files are supported; other image formats or corrupted files may fail to embed. Solution: Re-save your logo as a PNG or JPG and upload it again.
Explanation: This tool intentionally keeps to a single flat parts list to stay quick and simple for small manufacturers and makers. Solution: For complex nested assemblies, generate a separate BOM per sub-assembly, or note the parent assembly in the Category or Part Name field.
Explanation: The extended cost is quantity multiplied by unit cost - if either field is empty or zero, the result will be zero. Solution: Make sure both the Qty and Unit Cost fields are filled in for that row.
Frequently Asked Technical Questions
Question 1: What actually builds the PDF - is it a known library?
Answer: This tool uses jsPDF, a widely used open-source JavaScript library for generating PDF documents in the browser, together with its jsPDF-AutoTable plugin for the parts table - both loaded directly in your browser.
Question 2: How is the extended cost and grand total calculated?
Answer: For each row, the tool multiplies the quantity by the unit cost to get that row's extended cost, then sums every row's extended cost to produce the grand total - recalculating instantly as you type in any field.
Question 3: How are the stats like "Distinct Suppliers" calculated?
Answer: The tool collects the supplier field from every filled-in row into a set, which automatically discards duplicates, and reports the resulting count - all done in memory as you edit the form.
Question 4: How is my logo embedded in the PDF?
Answer: The uploaded image is read as a Base64 data URL using the FileReader API, then passed directly to jsPDF's image-embedding function, which places it in the title block area of the document.
Question 5: Does this tool need an account, server, or API key?
Answer: No. jsPDF, jsPDF-AutoTable, and the live preview all run as ordinary JavaScript already loaded by this page — you never need an account or any API key to use it.
Glossary of Terms
- Bill of Materials (BOM)
- A structured list of every part, component, and raw material needed to manufacture or assemble a product.
- Part Number / SKU
- A unique identifier assigned to a specific part or component for tracking and ordering purposes.
- Extended Cost
- The total cost of a line item, calculated by multiplying the quantity needed by the unit cost.
- Revision
- A version marker on a BOM used to track changes to a parts list over time.
- Unit of Measure
- The quantity unit a part is counted or ordered in, such as pieces, kilograms, meters, or boxes.
Frequently Asked Questions
Yes, completely free with no watermark, no signup, and no limit on how many BOMs you create.
No. The entire BOM, including your logo if you add one, is built and turned into a PDF entirely inside your browser using JavaScript. Nothing is transmitted over the network.
A Bill of Materials (BOM) is a structured list of every part, component, or raw material needed to build a product, along with quantities, suppliers, and costs - used by manufacturers, makers, and hobbyists to plan procurement and estimate build cost.
Yes. Each line item has dedicated fields for Part Number/SKU and Supplier/Vendor, so you can quickly trace where every component comes from.
Yes. As you enter quantity and unit cost for each part, the tool calculates the extended cost per row and rolls everything up into a grand total automatically.
Yes. There's a dedicated Revision field alongside the BOM number and date, so you can track changes across multiple versions of the same assembly's parts list.
Yes. This tool is built specifically for small manufacturers, workshops, and individual makers who need a clean parts list without the cost or complexity of full PLM/ERP software.
Final Thoughts
A clean Bill of Materials turns "I think we need some screws and a board" into an actual, orderable, costable parts list. This tool builds a structured BOM with automatic cost roll-up and a live preview using jsPDF and jsPDF-AutoTable — all without your part numbers, suppliers, or costs ever leaving your device.
Start listing your parts above and download your first BOM!