Skip to content
Schema

Guide

How to import a KiCad library

Point Schema at KiCad symbol and footprint libraries you already maintain — how discovery works, how to add directories by hand, and how load order resolves name clashes.

Last updated

Schema reads KiCad libraries directly. There is no conversion step and no import that produces a second copy to keep in sync — it loads the same .kicad_sym files and .pretty directories KiCad uses.

That matters mostly because of switching cost. Curated libraries are usually the reason people stay in a tool longer than they want to, and this removes that reason.

The two kinds of library

  • Symbol libraries are .kicad_sym files. One file holds many symbols. Schema loads every .kicad_sym in a directory you name.
  • Footprint libraries are .pretty directories, each holding .kicad_mod files. Schema loads every .pretty inside a directory you name.

Point at the parent directory

For both kinds, you add the directory that contains the libraries, not an individual library. For footprints that means the directory holding your .pretty folders, not a .pretty folder itself.

Automatic discovery

If KiCad is installed, its libraries are usually found without you doing anything. Schema looks at the environment variables KiCad itself sets, newest version first, then at the standard install locations for each platform.

KICAD9_SYMBOL_DIR      KICAD9_FOOTPRINT_DIR
KICAD8_SYMBOL_DIR      KICAD8_FOOTPRINT_DIR
KICAD_SYMBOL_DIR       KICAD_FOOTPRINT_DIR

Setting the unversioned pair by hand is the reliable way to point at libraries kept somewhere non-standard — a shared network drive or a company library repository, for instance.

Adding a library by hand

  1. 1Open Manage Libraries.
  2. 2Under Library Directories, click Add Directory… and choose the directory holding your .kicad_sym files.
  3. 3Under Footprint Directories, click Add Directory… and choose the directory holding your .pretty folders.
  4. 4Use Move Up and Move Down to set the order. Directories load in the order shown.
  5. 5Confirm the libraries appear in the Symbol Libraries and Footprint Libraries lists.

Order decides name clashes

Libraries load in the order listed, so if two directories contain a library with the same name, the one higher in the list wins. Put your own libraries above the shipped ones when you maintain a modified version of a standard part.

Using the parts

Parts are addressed as Library:Part — the same form KiCad uses, and the same form the agent uses:

place_symbol Device:R R1 auto 100 80

For footprints, search by description rather than by exact name. The search is semantic and expands package synonyms in both directions:

search_footprints 0805 resistor
  → R_0805_2012Metric

Altium libraries

Altium schematic libraries are read directly as well, so a project that draws on both is not a problem. An existing KiCad schematic can also be converted into a Schema project, rather than being redrawn.

If a library does not appear

  • Check you added the parent directory rather than an individual .kicad_sym file or .pretty folder.
  • An empty .pretty directory is treated as absent — a partial mirror of the KiCad libraries will show gaps rather than errors.
  • If discovery is not finding an installed KiCad, set KICAD_SYMBOL_DIR and KICAD_FOOTPRINT_DIR explicitly and restart.
  • If the wrong version of a part loads, check the directory order — something above it is providing a library with the same name.

Frequently asked questions

Does Schema convert KiCad libraries or read them directly?

It reads them directly. The same .kicad_sym and .pretty files KiCad uses are loaded as they are, so there is no converted copy that can drift out of sync with the original.

Can I open an existing KiCad schematic?

Yes. A KiCad schematic can be converted into a Schema project, so an existing design opens rather than having to be redrawn.

Does Schema read Altium libraries?

Altium schematic libraries are read directly, alongside KiCad symbol and footprint libraries.

Where does KiCad keep its libraries?

It varies by platform and installer, which is why discovery checks the KICAD*_SYMBOL_DIR and KICAD*_FOOTPRINT_DIR environment variables first — KiCad sets them itself. If you need to know the path on your machine, those variables are the reliable answer.

Try it on your own board

Free to start on macOS, Windows and Linux. Reads your existing KiCad and Altium libraries.