Introduction

KiCad is an open-source software suite for creating electronic circuit schematics and printed circuit boards (PCBs). KiCad supports an integrated design workflow in which a schematic and corresponding PCB are designed together, as well as standalone workflows for special uses. KiCad also includes several utilities to help with circuit and PCB design, including a PCB calculator for determining electrical properties of circuit structures, a Gerber viewer for inspecting manufacturing files, and an integrated SPICE simulator for inspecting circuit behavior.

KiCad runs on all major operating systems and a wide range of computer hardware. It supports PCBs with up to 32 copper layers and is suitable for creating designs of all complexities. KiCad is developed by a volunteer team of software and electrical engineers around the world with a mission of creating free and open-source electronics design software suitable for professional designers.

The latest version of this documentation is available at https://docs.kicad.org.

System Requirements

KiCad is capable of running on a wide variety of hardware and operating systems, but some tasks may be slower or more difficult on lower-end hardware. For the best experience, a dedicated graphics card and display with 1920x1080 or higher resolution is recommended.

Please check the KiCad website for the latest system requirements: https://kicad.org/help/system-requirements/

KiCad files and folders

KiCad creates and uses files with the following specific file extensions (and folders) for schematic and board editing.

Project manager file:

.kicad_pro

Project file, containing settings that are shared between the schematic and PCB

.pro

Legacy (KiCad 5.x and earlier) project file. Can be read and will be converted to a .kicad_pro file by the project manager.

Schematic editor files:

.kicad_sch

Schematic files containing all info and the components themselves.

.kicad_sym

Schematic symbol library file, containing the component descriptions: graphic shape, pins, fields.

.sch

Legacy (KiCad 5.x and earlier ) schematic file. Can be read and will be converted to a .kicad_sch file on write.

.lib

Legacy (KiCad 5.x and earlier ) schematic library file. Can be read but not written.

.dcm

Legacy (KiCad 5.x and earlier ) schematic library documentation. Can be read but not written.

-cache.lib

Legacy (KiCad 5.x and earlier ) schematic component library cache file. Required for proper loading of a legacy schematic (.sch) file.

sym-lib-table

Symbol library list (symbol library table): list of symbol libraries available in the schematic editor.

Board editor files and folders:

.kicad_pcb

Board file containing all info but the page layout.

.pretty

Footprint library folders. The folder itself is the library.

.kicad_mod

Footprint files, containing one footprint description each.

.kicad_dru

Design rules file, containing custom design rules for a certain .kicad_pcb file.

.brd

Legacy (KiCad 4.x and earlier ) board file. Can be read, but not written, by the current board editor.

.mod

Legacy (KiCad 4.x and earlier ) footprint library file. Can be read by the footprint or the board editor, but not written.

fp-lib-table

Footprint library list (footprint library table): list of footprint libraries available in the board editor.

fp-info-cache

Cache to speed up loading of footprint libraries.

Common files:

.kicad_wks

Page layout (drawing border and title block) description file

.net

Netlist file created by the schematic, and read by the board editor. This file is associated to the .cmp file, for users who prefer a separate file for the component/footprint association.

*.kicad_prl

Local settings for the current project, helps Kicad remember the last used settings such as layer visibility or selection filter. May not need to be distributed with the project or put under version control.

Other files:

*.cmp

Association between components used in the schematic and their footprints. It can be created by Pcbnew and imported by Eeschema. Its purpose is to import changes from Pcbnew to Eeschema, for users who change footprints inside Pcbnew (for instance using Exchange Footprints command) and want to import these changes in schematic.

Other files:

They are generated by KiCad for fabrication or documentation.

.gbr

Gerber files, for fabrication.

.drl

Drill files (Excellon format), for fabrication.

.pos

Position files (ASCII format), for automatic insertion machines.

.rpt

Report files (ASCII format), for documentation.

.ps

Plot files (Postscript), for documentation.

.pdf

Plot files (PDF format), for documentation.

.svg

Plot files (SVG format), for documentation.

.dxf

Plot files (DXF format), for documentation.

*.plt

Plot files (HPGL format), for documentation.

Storing and and sending KiCad files

KiCad schematic and board files contain all the schematic symbols and footprints used in the design, so you can back up or send these files by themselves with no issue. Some important design information is stored in the project file (.kicad_pro), so if you are sending a complete design, make sure to include it.

Some files, such as the project local settings file (.kicad_prl) and the fp-info-cache file, are not necessary to send with your project. If you use a version control system such as Git to keep track of your KiCad projects, you may want to add these files to the list of ignored files so that they are not tracked.