Export Full KiCad Project

I have designed several PCBs using KiCad and successfully manufactured. I used several external foot print libraries and schematic symbol for those designs.
I want to export entire project to another computer/share with others without loosing any dependencies.
How can I do this easily? Is there any third party tool for this?

Normally speaking the whole project should be contained in one folder. If you copy the entire folder (zipping it works well) to the other computer I think this will do the trick. Footprint and symbol definitions should all be contained in that folder. If you want to be able to update symbols or footprints from library in the new computer then you would need to also copy the used libraries; be careful to observe paths. I think this gets a bit more complicated but should not be so difficult.

I am not the best expert here but I have been using KiCad for a few years.

1 Like

What version are you using?

The project files are not a problem. The libs and paths must agree on both computers. This can be a pain.

1 Like

I assume that using global libraries (in contrast to project libraries) is a common practice.
In this case, maunally isolating symbols and footprints used in the project is a tedious task.
It would be nice to be able to automatically extract what’s necessary into the archive, but then there should be some means to restore links to global symbols/footprints once deployed in an environment that contains these items in global libs.
Certainly not straightforward.

1 Like

It depends a bit on how robust you want it to be.
For the PCB you can get away with easy, as all footprints are cached in the PCB file itself, even though the official source is some external library. If yo want to do it “robust” then the way to do it is similar to the route for the schematic.

When I’m finished with a project and want to archive it, I have no idea if and when I’ll ever open it again. It may be KiCad 12 with multiple generations of library changes in between. And for that I want to archive projects without any library dependencies, not even from KiCad’s default libraries, and this is not directly supported by KiCad, so is quite a lot of manual work, to copy all schematic symbols and footprints into project specific libraries and then also make the schematic links point to those projects.

This project claims to do it with a python script, but I have not used it yet:

In KiCad V5 there is also some annoying thing in the rescue system. It seems that if you do not follow through with the rescue, then symbols do not get rescued (duh) but if you then save your schematic (or it does it always?) the [project]-cache.lib does get overwritten, and that was the only backup of the symbols that needed rescuing in the first place. I have been thinking of making a bug report for this, but it I’d have to figure out in more details what actually happens, and what the expected behavior is.

A pretty weird way, but what probably works is to (temporarily) maim your config directory by renaming the sym-lib-table file, so KiCad can not find any default libraries. This triggers the rescue system, and then KiCad copies all schematic symbols from the [project]-cache.lib file to the [project]-rescue.lib files and updates links in the schematic to point to the [project]-rescue.lib file.

As an extra precaution, I always export the schematic in either a .pdf or .svg format. This ensures that even if the schematic gets maimed and you see the dreaded [ ?? ] symbols, then you at least have a human viewable schematic. .svg is also a decent format to embed in web pages or other documentation.

In KiCad-nightly V5.99 this is mostly a problem of the past. Copies of all schematic symbols are finally embedded in the schematic file itself, and updates from libraries are only done when triggered by a user.


Which is the purpose of sharing the project?
If the purpose is sharing a finished project, include all the files in the project folder, zip it and that’s all.
The symbols are included in the cache lib and the footprints in the kicad_pcb files.

If the project is going to be reworked, or it is an ongoing project, it is desiderable to add the libraries too as said before in the previous posts.

Thank you for the Python script. I tried it. But couldn’t get any zip file.
I run the script in IDEL 3.9 and gave a project folder as the parameter.
It creates a folder and sub folders as described in .md file. Nothing in folders.

This is the IDEL output…

I want to share the entire project for later editing purpose. Should be able to extract foot prints and symbols from project for edit those.

I like the “archive project” from MitjaN:

it collects all the information from the current project, copies footprints, symbols and modles in a local folder and changes the library path to that folder, in this way, the project becomes self-contained in one folder that you can happily share around.