Edit component properties as a table

I’m not sure if I’m being very slow here, but is there some way to quickly edit fields of components in eeschema?

I’ve got my schematic and board design done and the prototype board is out for manufacture. Now while I wait for it, I’d like to go through the schematic and add some more info to each component - eg assign a storage location for each component type so that when I order components and put them in a storage system, I know where to find each one.

Do I really have to edit each component, click the ‘Add a Field’ button, type in the field name (hoping I manage this without mistakes), type in the value of the field and click okay for every component on the board? Surely there’s a better way?

I gather that a big rewrite of eeschema is on the way, so asking after a Python interface for eeschema files is a bit hopeful - but if it existed, one way would be to write a script that exports fields to a spreadsheet and the reimports the field values, keyed on component ref. But it seems no such interface exists (?)

Or am I better off keeping this sort of info outside KiCAD?

Thanks for any suggestions.

Well welcome to the club. There are lots of threads on this forum concerning very similar topics.

The closest one i could find:

Or you might want to look into KiCost:

If both of them are useless for you: just search this forum with the search term “bom”.
You will find loads of stuff.

Hi, Tom. KiField may be close to what you want.


There is some work in progress to add spreadsheet style editing feature to eeschema.


So we might see that implemented in one of the future versions of KiCad. The biggest issue seems to be undo/redo support.

Adding new fields to all components can be done using “Preferences” -> “Schematic Editor Options” -> “Default Fields” so you don’t have to manually add your custom fields to all the components. Still you have to edit each component and add the content of the field in question.


Another option might be to use KiCad partslist editor:


This tool parses KiCad schematic files (including hierarchical schematics), which can be exported to a .csv file.

You can edit this .csv file in your favourite spreadsheet editor.

This modified .csv can then be reloaded into KiCad Partslist-editor to add the changes into the KiCad schematic files

Kicad Part-list Editor works very nicely, however I have one problem with it.

It appears that when a CSV is re-imported the fields in each component must exist.

For example in some of my components I have price fields, but not all. This happened because I created some of my schematic before I was aware of being able to add such things. So, when I export the parts-list I can add those prices using Excel and save it as a CSV again. When the CSV gets imported into the schematic only those parts that already had the price fields get updated.

Anyone know if it is possible to create fields when they do not exists?


I’m one of the major contributors to Kicad Parts List Editor (PLE). New fields and values should just be inserted into the schematics. PLE has some quirks with internal states - have you tried to restart PLE and do the “laod schematic, import csv, save schematic” process again?

Recently there was a major rewrite of PLE. The most recent one isn’t merged into BPJWES’ repository, so you can try V18.0.3 here: https://github.com/KarlZeilhofer/KiCAD_Partslist_editor

If you still encounter problems, please report a bug on Github.

Greets, Karl