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. |
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.