Last updated: October 2026

To add a footprint library in KiCad 10, open Preferences → Manage Footprint Libraries… from the PCB Editor or Footprint Editor, pick the global tab or the Project Specific Libraries tab, click the folder button, and select the library (for KiCad’s own format, a folder ending in .pretty). Symbol libraries work the same way through Preferences → Manage Symbol Libraries… in the Schematic Editor. Then link each schematic symbol to a footprint with Tools → Assign Footprints….

These steps follow the official KiCad 10.0 documentation. When this guide was written, the kicad.org download page listed KiCad 10.0.6 as the current stable release. Older versions (8.x, 9.x) use the same library-table idea, but dialog details can differ, so check the docs for your version.

How KiCad finds libraries: the two library tables

KiCad does not scan your disk for parts. It loads only the libraries listed in a library table, which maps a short nickname to a library file or folder. The KiCad docs put it plainly: libraries are not loaded unless they are in either the global or the project-specific table.

There are two tables for symbols and two for footprints:

TableFile nameWhere it livesWho sees it
Global symbol tablesym-lib-tableKiCad configuration folderEvery project
Project symbol tablesym-lib-tableYour project folderThat project only
Global footprint tablefp-lib-tableKiCad configuration folderEvery project
Project footprint tablefp-lib-tableYour project folderThat project only

On Windows, KiCad 10 keeps its configuration in %APPDATA%\kicad\10.0. A project table file only exists if the project actually has project-specific libraries.

Which one should you use?

  • Global for libraries you reuse everywhere, such as your personal parts library.
  • Project for parts that belong to one design, especially if you will share the project or put it in version control. Store the library inside the project folder and reference it with ${KIPRJMOD}, which always points at the current project directory. That way the project still opens correctly on another computer.

If the same nickname appears in both tables, the project table wins.

First run: start with the built-in libraries

The first time KiCad 10 runs, it walks you through setup. For a fresh install, the docs recommend Start with the built-in KiCad libraries, which fills your tables with all the libraries that ship with KiCad. If you are upgrading, you can choose Import tables from the previous version, and KiCad recommends also selecting Migrate built-in libraries to the latest version.

In KiCad 10, the default table holds a single entry that points to a nested library table containing all of KiCad’s stock libraries. KiCad maintains that nested table and updates it with each release, so you should not edit it. Your own additions sit beside it.

If your tables ever get into a bad state, the library table dialog has a Reset Libraries button. The docs warn this permanently changes the table on disk, so copy your fp-lib-table and sym-lib-table files first.

Steps: add an existing footprint library

Use this when you downloaded footprints from a part vendor or a colleague sent you a .pretty folder.

  1. Put the library somewhere permanent. For a project library, copy the .pretty folder into your project folder. For a global one, use a stable folder that will not move.
  2. Open the PCB Editor (or Footprint Editor) and choose Preferences → Manage Footprint Libraries…. You can also open this dialog from the Project Manager.
  3. Pick the table: the global tab, or the Project Specific Libraries tab for this project only. The library is added to whichever table is open.
  4. Click the folder button below the table and browse to the library. Alternatively, click the + button to add an empty row and type the path yourself.
  5. Check the row. Give it a unique Nickname (no colons allowed). Confirm the Library Format matches the file type. For a project library, make the path portable, for example ${KIPRJMOD}/MyParts.pretty.
  6. Click OK. The footprints are now available in the footprint browser and the Footprint Assignment Tool.

Formats KiCad 10 can read directly

According to the PCB Editor docs, KiCad 10’s footprint table can load:

  • KiCad .pretty folders (containing .kicad_mod files)
  • KiCad legacy .mod files
  • Altium Designer .PcbLib or .IntLib
  • CADSTAR PCB Archive .cpa
  • Eagle .lbr
  • EasyEDA / JLCEDA Standard (.json or .zip) and Professional (.elibz, .epro or .zip)
  • gEDA folders of .fp files

Only KiCad’s native .pretty format can be edited. Everything else is read-only until you convert it with the Migrate Libraries button in the same dialog.

Steps: add a symbol library

  1. Open the Schematic Editor (or Symbol Editor).
  2. Choose Preferences → Manage Symbol Libraries….
  3. Pick the global tab or the Project Specific Libraries tab.
  4. Click the folder button and select the library file. KiCad’s native format is a .kicad_sym file (or a folder of them).
  5. Set a unique nickname, confirm the format, and click OK.

The symbol table can also read KiCad legacy .lib, Altium .SchLib/.IntLib, CADSTAR, Eagle .xml, EasyEDA files, and KiCad database (.kicad_dbl) and HTTP (.kicad_httplib) library files. As with footprints, only .kicad_sym libraries can be edited.

Each row has two checkboxes worth knowing. Unchecking Enable keeps the library in the table but stops KiCad from loading it, which can speed up startup. Unchecking Show hides it from the browsers while still loading it, which is mainly useful with database libraries.

Steps: create a new, empty library

To start your own parts library:

  1. In the Footprint Editor or Symbol Editor, choose File → New Library….
  2. Choose whether to add it to the Global or Project table.
  3. Name and save it. Footprint libraries use the .pretty folder convention, for example my-parts.pretty. Symbol libraries are .kicad_sym files.

KiCad adds the new library to the table you chose automatically.

Steps: install libraries with the Plugin and Content Manager

KiCad’s Plugin and Content Manager (launched from the Project Manager) can install third-party libraries, plugins and themes. Click Install on a package, which queues it in the Pending tab, then click Apply Pending Changes. Installed packages show up in the Installed tab, where you can update or remove them.

Steps: assign footprints to your symbols

A library being loaded is only half the job. Each schematic symbol needs a footprint before you can update the board.

  1. In the Schematic Editor, choose Tools → Assign Footprints… (or click the footprint assignment icon in the top toolbar).
  2. The left pane lists footprint libraries, the middle pane lists your schematic symbols, and the right pane lists footprints.
  3. Select a symbol in the middle pane, then double-click a footprint in the right pane. KiCad assigns it and jumps to the next symbol without a footprint.
  4. Use the filter buttons to narrow the list by the symbol’s footprint filters, by pin count, or by the selected library. If the right pane is empty, a filter is usually the reason.
  5. Click OK to save the assignments (or Apply, Save Schematic & Continue to keep working).

You can also set a single footprint by opening a symbol’s properties and editing its Footprint field, using the library browser button next to it.

Finally, run Tools → Update PCB from Schematic… (F8) in the PCB Editor to pull the footprints onto the board.

Troubleshooting

  • The library does not show up. It is not in either table, or its Enable box is unchecked.
  • “Library not found” after moving a project. The path is absolute. Change it to use ${KIPRJMOD}.
  • Duplicate nickname error. Nicknames must be unique within one table.
  • Can’t edit a downloaded footprint. It is in a read-only format. Use Migrate Libraries to convert it to .pretty.
  • Footprint list is empty in the assignment tool. Turn off the pin-count or footprint-filter buttons.

FAQ

What is the difference between a global and a project library in KiCad? Global libraries are listed in the fp-lib-table or sym-lib-table in KiCad’s configuration folder and are available in every project. Project libraries are listed in a table inside the project folder and only load for that project.

Where is the global footprint library table on Windows? In KiCad 10, in %APPDATA%\kicad\10.0, in the file fp-lib-table.

Can KiCad use Eagle or Altium footprint libraries? Yes. KiCad 10 reads Eagle .lbr and Altium .PcbLib/.IntLib libraries directly as read-only. Convert them with Migrate Libraries to edit.

Should I edit KiCad’s built-in library table? No. In KiCad 10 the stock libraries live in a nested table that KiCad maintains and updates with each release. Add your own libraries as separate rows instead.

Sources