KiCad configuration

The KiCad preferences can always be accessed from the Preferences menu, or by using the hotkey (default Ctrl+,). The Preferences dialog is shared between the running KiCad tools. Some preferences apply to all tools, and some are specific to a certain tool (such as the schematic or board editor).

Common preferences

preferences common

Accelerated graphics antialising: KiCad can use different methods to prevent aliasing (jagged lines) when rendering using a graphics card. Different methods may look better on different hardware, so you may want to experiment to find the one that looks best to you.

Fallback graphics antialiasing: KiCad can also apply antialiasing when using the fallback graphics mode. Enabling this feature may result in poor performance on some hardware.

Text editor: Choose a text editor to use when opening text files from the project tree view.

PDF viewer: Choose a program to use when opening PDF files.

Show icons in menus: Enables icons in drop-down menus throughout the KiCad user interface.

Icons in menus are not displayed on some operating systems.

Icon theme: Sets whether to use the icon theme designed for light window backgrounds or dark window backgrounds. The default setting of Automatic will choose the theme based on the lightness of the operating system window theme.

Icon scale: Sets the size of the icons used in menus and buttons throughout KiCad. Choose Automatic to pick an appropriate icon scale automatically based on your operating system settings.

Canvas scale: Sets the scale of the drawing canvas used in the KiCad editors. Choose Automatic to pick an appropriate canvas scale automatically based on your operating system settings.

Apply icon scaling to fonts: This setting will scale fonts used in the UI according to the icon scale setting. This is not needed for most users, but may improve the look of KiCad on certain Linux platforms when using a high-DPI display.

Warp mouse to origin of moved object: When enabled, the mouse cursor will be repositioned (warped) to the origin of an object when you start a move command on that object.

First hotkey selects tool: When disabled, pressing the hotkey for a command such as Add Wire will immediately start the command at the current cursor location. When enabled, pressing the hotkey the first time will just select the Add Wire tool but will not immediately begin a wire.

Remember open files for next project launch: When enabled, KiCad will automatically re-open any files that were previously open when a project is re-opened.

Auto save: When editing schematics and board files, KiCad can automatically save your work periodically. Set to 0 to disable this feature.

File history size: Configure the number of entries in the list of recently-opened files

3D cache file duration: KiCad creates a cache of 3D models in order to speed up the 3D viewer. You can configure how long to keep this cache before deleting old files.

Automatically backup projects: When enabled, KiCad projects will be archived to ZIP files automatically according to the settings below. The archives will be stored in a subfolder of the project folder. Backups are created when saving files in the project.

Create backups when auto save occurs: When enabled, a backup will be created every time an automatic file save occurs (if the backup is permitted by the settings below). This setting has no effect if the auto save interval is set to 0 (disabled).

Maximum backups to keep: When creating a new backup, the oldest backup file will be deleted to keep the total number of backup files below this limit.

Maximum backups per day: When creating a new backup, the oldest backup file created on the current day will be deleted to stay below this limit.

Minimum time between backups: If backup is triggered (for example, by saving a board file), the backup will not be created if an existing backup file is newer than this limit.

Maximum total backup size: When creating a new backup file, the oldest backup files will be deleted to keep the total size of the backup files directory below this limit.

Remember open files for next project launch: When checked, KiCad will re-open the schematic and board editor if they were open the last time you closed the project manager.

Mouse and touchpad preferences

preferences mouse and touchpad

Center and warp cursor on zoom: When enabled, zooming using the hotkeys or mouse wheel will cause the view to be centered on the cursor location.

Use zoom acceleration: When enabled, scrolling the mouse wheel or touchpad faster will cause the zoom to change faster.

Zoom speed: Controls how much the zoom changes for a given amount of scrolling the mouse wheel or touchpad. Use Automatic to set a default value depending on your operating system.

Automatically pan while moving object: When enabled, the view can be panned while moving an object by moving close to the edge of the canvas.

Auto pan speed: Controls how fast the canvas pans while moving an object.

Mouse buttons: You can set the behavior of dragging the middle and right mouse buttons to zoom the view, pan the view, or have no effect. You can also set the behavior of dragging the left mouse button depending on whether or not any objects are already selected in the editing canvas.

The left mouse button is always used for selecting and manipulating objects.

Mouse wheel and touchpad scrolling: You can set the behavior of scrolling the mouse wheel or vertical motion of the touchpad while pressing certain modifier keys.

Pan left/right with horizontal movement: When enabled, you can pan the view using the touchpad or horizontal scroll wheel (if present on your mouse).

Hotkey preferences

preferences hotkeys

You can use this dialog to customize the hotkeys used to control KiCad. The hotkeys in the Common section are shared between every KiCad program. Hotkeys for each specific KiCad program are shown when that program is running. You can assign the same hotkey to a different action in different KiCad programs (for example, the schematic editor and the board editor), but you cannot assign a hotkey to more than one action in the same program.

There are many available commands, and so not all of them have a hotkey assigned by default. You can add a hotkey to any command by double-clicking on the command in the list. If you choose a hotkey that is already assigned to a different command, you can choose to use that hotkey on your chosen command, which will remove the hotkey assignment from the conflicting command.

Changes that you have made to hotkey assignments are shown with a * character at the end of the command name. You can undo changes to a specific command by right-clicking that command and selecting Undo Changes, or you can undo all changes with the button below the command list.

Importing hotkeys

Hotkey preferences are stored in .hotkeys files in the KiCad settings directory (see the Settings section for information about where the settings directory is on your operating system). If you have configured KiCad hotkeys the way you like on one computer, you can transfer that configuration to another computer by importing the appropriate .hotkeys file(s).

Paths configuration

In KiCad, one can define paths using an environment variable. A few environment variables are internally defined by KiCad, and can be used to define paths for libraries, 3D shapes, etc.

This is useful when absolute paths are not known or are subject to change (e.g. when you transfer a project to a different computer), and also when one base path is shared by many similar items. Consider the following which may be installed in varying locations:

  • Schematic symbol libraries

  • Footprint libraries

  • 3D shape files used in footprint definitions

For instance, the path to the connect.pretty footprint library, when using the KISYSMOD environment variable, would be defined as ${KISYSMOD}/connect.pretty

The PreferencesConfigure Paths…​ menu allows you to define paths for some built-in KiCad environment variables, and add your own environment variables to define personal paths, if needed.

KiCad environment variables:

KICAD6_SYMBOL_DIR

Base path of symbol library files.

KICAD6_FOOTPRINT_DIR

Base path of footprint library files.

KICAD6_3DMODEL_DIR

Base path of 3D models used in footprints.

KICAD6_TEMPLATE_DIR

Location of project templates installed with KiCad.

KICAD_USER_TEMPLATE_DIR

Location of personal project templates.

KICAD6_SCRIPTING_DIR

Location of Python scripts installed with KiCad.

KICAD6_USER_SCRIPTING_DIR

Location of personal Python scripts.

configure path dlg

You cannot override an environment variable that has been set outside of KiCad by using the Configure Paths dialog. Any variable that has been set externally will be shown as read-only in the dialog.

Some advanced environment variables can be set to customize KiCad’s behavior. These variables are not shown in the environment variable configuration dialog by default. Changing these variables will not result in KiCad moving any files from the default location to the new location, so if you change these variables you will need to copy any desired settings or files manually.

Additional environment variables:

KICAD_CONFIG_HOME

Base path of KiCad configuration files. Subdirectories will be created within this directory for each KiCad minor version.

KICAD_DOCUMENTS_HOME

Base path of KiCad user-modifiable documents, such as templates, Python scripts, libraries, etc. Subdirectories will be created within this directory for each KiCad minor version.

Note also the environment variable KIPRJMOD is always internally defined by KiCad, and is the current project absolute path.

For instance, ${KIPRJMOD}/connect.pretty is always the connect.pretty folder (the pretty footprint library) found inside the current project folder.

If you modify the configuration of paths, please quit and restart KiCad to avoid any issues in path handling.

Libraries configuration

The PreferencesManage Symbol Libraries…​ menu let you manage the library list files called symbol library table (sym-lib-table).

Likewise, use the PreferencesManage Footprint Libraries…​ menu to manage the library list files called footprint library table (fp-lib-table).

There are 2 library list files: the first (located in the user home directory) is global for all projects and the second (located in the project directory) is optional and specific to the project.