How can i assign a footprint to a symbol?

Disclaimer: Screenshots taken from version 5.1.4

KiCad determines which symbol belongs to which footprint via the footprint field of the symbol. This symbol field can be set either already in the library (fully specified symbol) or sometime during the schematic design process. This tutorial lists all options you have to assign a footprint to your symbols.

At schematic design time

This workflow is less work for library maintenance and allows for selecting exact components late in the design process.

Using the assign footprints tool (In the past known as CvPcb).

Found in eeschema: Tools->assign footprints to components (Might be called differently in your version of kicad.)
This tool allows you to edit the footprint field of all your components in a tabular form.
If you want to assign a footprint to a component, select this component in the middle column and click on the desired footprint in the right column. What is shown in the right column is determined by the filter settings.

Filters of the assign footprints tool

Only footprints that fulfil all footprint filters with respect to the currently selected target symbol are shown in the rightmost column. There are 4 filters available.

  • Filter by the symbols footprint filter(s) uses the filters set in the footprint properties within the library (see below).
  • Filter by pin count shows only footprints that have the same number of pads as the symbol has pins. (There is no check if the identifiers agree. Duplicated pin numbers or pad numbers are not counted)
  • Filter by selected library uses the library selected in the leftmost column of the tool
  • The manual filter uses the same syntax as the symbols footprint filter (see below)

Activate previews in the assign footprints tool

It is possible to have a preview of both the footprint and it’s assigned 3d model. The preview windows are separate and can be placed anywhere on your screen.

They will loose focus (get pushed to the back) as soon as you select a new footprint. So place them somewhere outside the space taken up by cvpcb for easy usage.

Setting the footprint for a single placed symbol in its properties dialog (footprint browser)

Hover your mouse above the symbol you want to assign a footprint and press e to reach the symbol properties dialog (or right click -> properties -> edit properties).

This dialog allows filling out the footprint field for the active symbol. Click in the text input area of the footprint field to get a button that allows opening the footprint browser. You can also manually enter the footprint reference into this field (Syntax: <library nickname>:<footprint name>)

In the footprint browser you need to select the footprint lib in the leftmost column and the footprint in the middle column. (Single clicking updates the preview, double clicking assigns the footprint.)

The symbol field editor of eeschema (footprint browser)

Version 5 introduced the footprint field editor. It allows to edit all fields of all placed symbols in a tabular view. This includes the footprint field. It is found in tools -> edit symbol fields.

You can assign the same footprint to multiple symbols by making use of the grouping options. The same footprint browser shown in the previous section can be reached by using the button that shows in the footprint field when you click on it.

In KiCad v5 (or nightly), directly in the component selector.

KiCad v5 has an experimental feature to allow footprint preview and selection when browsing symbols. It must be enabled:

  1. Open Preferences → General Options.
  2. On the Display tab, enable “Footprint previews in symbol chooser (experimental)”.

The feature should be considered in “beta”, as performance is a bit poor and a few features are still missing, but what is there should work.

In this selection dialog the following options are available:

  • By default the footprint set in the symbols footprint field is selected.
  • The option “Other…” opens the footprint browser.
  • In addition to the default footprint, all footprints that result from the footprint filter defined in the symbol are shown as well.

Specified in the library

This workflow is a bit more work on the library side and requires you to select the exact component while selecting the symbol. (You can exchange the symbol later on and could even use the same tools as with the previous workflow to overwrite the library settings.)

Setting the default footprint for symbols. (Library editor)

More detailed description in the Tutorial: How to make a symbol (KiCad v5.1.x)

You can setup your lib such that your symbols have their footprint pre assigned. This is called a fully defined symbol. (This footprint will be automatically assigned in KiCad v4. In KiCad v5 you can change the assignment using the new symbol selector dialog.)


Setting footprint filters for symbols. (Library editor)

The footprint filters are used in CvPcb if you set the filter that way. (see above)
They are also used in the KiCad v5 symbol selector dialog to show alternative footprints.

Footprint filters can include wildcards:

  • ?: Exactly 1 character (1)
  • *: Any number of characters (0…n)

Further reading (related topics)

Adding custom footprints
Help with connector footprints
Where find resister (no smd)?
CvPCB for association
Library/component issue
(Start Here) Frequently Asked Questions
Highligt of variables in footprint on Mac!
Assigned Footprints do not save
New install of 5.1.6 - CvPCB does not work
Won't save junctions in schematic
Visual part selection?
"fixing" the pin assignments on a symbol and footrpint
Help with custom symbol and footprint management
Footprints get updated all the time
'go back to library' in footprint assignment
Footprints for 2pin/3pin screw connectors
Cannot assign correct footprint
Cannot assign correct footprint
Assigning Footprints & ERC
Alternative footprints
Components libraries issues
Help importing part from Ultra Librarian
Help importing part from Ultra Librarian
Generic symbols and using Eeschema for a sole purpose
FootPrint Paths and Folders
Symbols and footprint for ferrite beads
Footprint name starting with a number - not allowed?
Tutorial: Introduction to PCB design with KiCad version 5.1 (Getting Started)
No footprint assigned
SMD components foot print and selection
Assigning footprint question
Change footprint of multiple identical components
Checking already available foot prints in the lib
Don't see any PCB symbol in D_Bridge symbol
Wrong resistor size :(
How can you match specific footprint pads to specific schematic symbol nets?
cvPcb pin filter (mostly) broken for me?
Limited choice on footprint list
Crash when trying to associate footprint with symbol
How to connect a wire to the PCB?
Permanant or default assignement of footprints in schematic
New to KiCad, Does it matter which mirror to use: CERN, github or futureware?
Blog about how to make library assets
Fast PCB design
Rats nest not updating and schematic components absent from Layout
Error Importing Netlist
Cvpcb associate footprints
Using Arduino_Uno_R3 - CAD newby
Create symbol, create footprint and bind them
Doubts when using the LM324
New User footprint hell
First Schematic - Looking for Pointers
One symbol not in list (CvPcb)
KiCad EDA Newb Needs Help Getting Started
NPTH Mounting Holes ... AAAaarrgh! Or, how to get them right the first time
Why not included footprints for simple resistors
Some newbie questions
Matching (Reconciliation) the Footprint with its Symbol
Filter for footprints
How to add footprints
Assigning footprint via library browser broken?
Tutorial: How to make a symbol (KiCad v5.1.x)
Suggestions to improve KiCAD
CVPCB - Error, component not found in any library
Assign Footprints 'Apply, Save Schematic & Continue' What does it do?
All pcb footprints missing from all libraries
CvPCB and FPID Conformation
Looking for thru-hole tactile switch with LED
Trying to create a PCB with holes
High level thinking
High level thinking
How to assign JST footprint to connector
Help to source, install and manage libraries?
How to view components in 3D viewer
Footprint viewer is empty
How can I assign a footprint to a symbol? - suggested edit
How does KiCad know which symbol pin represents which pad of the footprint?
Newbie staring into the deep end of the pool w/ Cvpcb
Kicad 5 - unable to associate files in cv pcb due to missing libraries
Netlist Load Error
Transforming a schema into a pcb
KiCad 4.0.7 footprint library wizard
[solved] Problem with "read the netlist" in newPCB
Cvpcb picking footprint for scart and pin connectors
Guidance on chip selection during cvpcb process (first board!)
How do I change path segment?
I come from Eagle. What should i know about KiCad?
Toggle switch tutorial
Weird "Eeschema via Kiway" Error
How to convert a schematic built into a PCB built on MacBook?
Viewing/Printing all available footprints
How do you create a symbol library that works?
Kicad Missing Footprint - v4 vs v5?
Finding components in standard (downloadable) libraries
How to add G6K-2P-Y from github Lib to Layout
BGA pin mapping
Footprint preview
No PCB footprint libraries are listed in the current footprint library table
Type 2 errors in schematic
New to this. CVPCB doesn't have any footprints. Help!
Designing the pcb and schematic problem
Netlist issue loading
Read netlist in pcbnew cant find the footprints that are on disk
Can not open .NET file
Missing Footprint PcbNew
Filtering footprints with compatible pin count
Noob Q... update footprint