How to get a downloaded symbol, footprint or full library into KiCad version 5?

This is a shortened version of Library management in KiCad version 5 so if anything is not clear read the full lecture.
Here we also only describe a single way to add any given asset. Alternatives (more efficient in some circumstances) are described in the full lecture.


How to add a .kicad_mod file (single footprint)

Files with the file ending .kicad_mod represent the current footpritn file format. One such file contains a single footprint.

To get it available in KiCad open the footprint editor and use file->import footprint from kicad file to load the footprint. After that use the save as button to save the footprint into one of your libs.

Be aware that system libraries are write protected by default (It is generally a bad idea to save personal footprints into an official lib. The next update would overwrite your modifications)

If you do not yet have a personal lib then follow these directions on how to make one: Creating a new footprint library

How to add a .pretty directory (footprint library)

KiCad footprint libraries are normal file system directories (or folders) with the suffix (“file ending”) .pretty. It contains any number of .kicad_mod footprint files.

Adding such a library is done within the footprint editor. For adding a single lib use file->add library.
Rule of thumb: You will be asked if you want to place this lib into the global or local library table. If you placed your lib inside the current projects directory then choose local otherwise global. (more details see full lecture linked above)

Adding multiple libs is best done with the library manager as described in the full lecture (allows selecting multiple libs for addition)

How to add a .mod file (legacy footprint library format)

The old footprint libraries used the file ending .mod and were a single library file containing any number of footprints. Be aware that other programs also use this file ending.

These libraries are added with the same tools as a .pretty library, but it is not possible to import a single asset out of this file. (add the library temporarily and then save the footprint you want from it into one of your other libs with the save as function.)

How to add a .lib and .dcm file pair (symbol library)

Symbol libraries are stored in two files. The .lib file contains the symbol information while the .dcm file contains documentation. Any KiCad dialog will only show the .lib file. KiCad knows that there also is a .dcm file with the same name.

To add a symbol lib use the symbol editors add library entry of the file menu. You will be asked if you want to place this lib into the global or local library table.
Rule of thumb: If you placed your lib inside the current projects directory then choose local otherwise global. (more details see full lecture linked above)

Adding multiple libs is best done with the library manager as described in the full lecture (allows selecting multiple libs for addition)

If the library contains only a single symbol then you can use the import feature to get it into a pre-existing library. (import then use save as to save it into a library of your choosing.) If you do not yet have a personal lib then follow this tutorial to learn how to make one Creating a new symbol library and a new symbol in KiCad 5

General Tips:

Place libraries somewhere sensible within your file system. This makes your life easier in the long term.

  • A centralized location for all your libs makes sense if you want to go with a global setup.
  • Always place local libs within the project directory or a subfolder of it.
  • Avoid putting libs that are under a project directory into the global library table.

Do not import full libraries with only one asset in it. Import the content of such a library in a lager library.

Think about how you want your libs organized (How to you want them differentiated.)

Prefix your personal library names with something unique such that you can easily find them. (also makes it less likely that you will have naming conflicts within the library tables.)

6 Likes