KiCad BOM Wizard Plugin with customisable output (Can make HTML and CSV BOM)


Not sure about this tool but is possible with KiBoM


A better more robust way to write the value 10.2k would be to write 10k2. (Keep this in mind if you ever want to share your designs worldwide.)


Tried but I get an error message


I know that 10k2 is internationally recognized. But avoiding comma as separator should be useful also because we use comma sometime in title block.


Strange. What command string are you using to call the script?


python “/home/giorgio/Documenti/KiCad_prove/KiBoM-master/” “%I” “%O”


Hi Giorgio,

KiCad bom wizard should be able to output the format that you want. If you are happy to create your own template.

For example, by default it will use the internal CSV template located here. If you make a copy of that somewhere in your computer and update it so that the commas are replace with a safe delimiter then that should do it.

After that you just need to pass that template to the plugin like so:

kicad_bom_wizard "%I" "%O.csv" "/PATH_TO_MY_TEMPLATE/CSV"

:neutral_face: That said, I wonder if I should update the original CSV template so that it encloses all the values inside quotes by default. That should fix your issue and make it more robust.

  • Ron


Sorry to ask what’s probably a silly question. I got node installed on my Win7 x64 system and, thanks to the comments above, fixed my directory problems.

When I run the command line now, I get:


Info messages:
depdencies are missing. Please wait while they are installed.

Nothing gets installed and a CSV file isn’t generated. Any ideas?


I’m trying to get this running on Windows 10. I’m getting error 5:access denied.

The command I’m running is “C:\Program Files\nodejs” “C:\KiCAD\KiCad_BOM_Wizard\KiCad_BOM_Wizard.js” “%I” “%O.csv” “CSV”

I have not installed the BOM wizard globally, not sure how to do that on Windows.

Any help is much appreciated!


You are going to have to change the file permissions or move it to your personal directory space. I don’t know Windows that well but I’m sure there is some pop up box that will let you do this.


Same thing Linux Mint 18.1

Command error. Return code 1

Error messages:
const { exec } = require(‘child_process’)

SyntaxError: Unexpected token {
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions…js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3


On ubuntu 16.04LTS I am using these custom installed versions and it works OK:
$node -v && npm -v

The thing that creates confusion here is that the error message has nothing to do with node version. The script should ideally check for what it needs at the start and give a clearer & understandable error message.


I hope I’m not too late to ask. Are you still having the same issue? If so do, did it bring up any error code?



Unfortunately, this is an issue when using an older version of nodejs. The problem is that the earlier version didn’t support const. You will need to install the a newer version. I’m currently running.

node v7.10.1.

Could you try updating.


Yes, I updated nodejs and all is well, thanks.


Thanks for reply. I’m trying to follow your instructions

But it’s not clear to me which file I’ve to edit and where put my delimiter “;”.
Is “template.conf” that need modified substituting “,” with “;” ?


Thanks for answering.

Which file I have to edit? May be “template.conf”?

If I want use “;” (semicolon) as delimiter where I have to put it?

First BOM - is there any default?

@Opticalworm … nothing short of AWESOME! Thank you so much. I’ve been struggling with a plugin called “KiBOM_CLI” in that I’ve just found out after using it to generate a BOM and using that BOM to order parts (& missing parts), that it (KiBOM_CLI) did not appear to generate a component line item for all reference designators.

Community … I got this warning about (I paraphrase) … “you are about to re-open an old thread which will ping a lot of folks, are you sure?”. If someone wouldn’t mind sharing with me how to give a shout-out to @Opticalworm (or anyone else for that matter) without opening old threads and not adding broader value, I’d appreciate it.

Many thanks,


Strange thing since I’ve updated to Buster, latest Debian. When I open up the plugin from the toolbar it opens up in Thunderbird. I can click on that link and it then goes to Firefox. I tried changing the default browser behavior just in case it was some weird interaction between Thunderbird and Firefox.

While this doesn’t seem like it would be the plugin I have no other clues at this point.


Hi @Opticalworm This is a fantastic tool! I got it working on Mac without any issues. I’m curious if it is possible to change which fields are populated when calling ? I’ve tried editing which fields are active in the KiCad Symbol Field editor. However, no matter which fields are selected there, the script pulls any and all fields. I mostly just want Manufacturer and MPN and the rest to be ignored. I’ve tried editing the templates but have not had any luck with the that portion. Any help is appreciated. Thanks!