File Formats

KiCad writes all files in human readable ASCII. This makes manipulation by hand and scripting very easy. The following is a listing on what the different files are used for.

Native file formats

The .sch, .lib, .brd, .kicad_pcb and .kicad_wks file formats are specified in this legacy PDF documentation . Newer file format documentation is a Work In Progress.

  • .pro: project file. Holds parameters that apply to the entire project (schematic and PCB layout).

    • …​ backup of the project file.

  • .sch: legacy schematic file.

  • .kicad_sch: the new schematic layout file.

  • .lib: schematic symbols library file.

    • -cache.lib: …​ a local copy of all the symbols used in the corresponding schematic, so that when the folder containing a KiCad project is copied to a different PC, the schematic can still be opened and printed and will still look the same as the original draughtsperson intended - even if that other PC does not have those symbols in its main libraries (or has symbols that coincidentally have the same name but are completely different).

    • -rescue.lib: …​ copies of conflicting/missing schematic symbols.

  • .mod: legacy footprint module file (Obsolete, can only be read).

  • .pretty: footprint library folders. The folder itself is the library.

  • .kicad_mod: footprint files, containing one footprint description each.

  • .000: * temporary file.

  • .bak: backup of schematic file.

  • .brd: legacy PCB layout file.

  • .kicad_pcb: the new PCB layout file.

    • -save.kicad_pcb: …​ backup of the PCB Layout file.

  • .cmp: deprecated parts-to-module assignments file. Footprint informations are now saved in the .sch files.

  • .csv: commonly used when exporting BOM file.

  • .dcm: holds descriptions, aliases and keywords for library symbols.

  • .bck: backup file for the symbol editor of the .dcm file.

  • .net: *: netlist in "Pcbnew"; format …​ can be regenerated by viewing the schematic file and clicking the "Netlist generation" button.

  • fp-info-cache: *: Footprint info cache: cache of information (description, datasheet URL, etc.) for all footprints used by the board.

  • fp-lib-table: Footprint library list (footprint libraries table): list of footprint libraries (various formats) which are loaded by the board or the footprint editor or CvPcb.

  • sym-lib-table: Symbol library list (symbol libraries table): list of symbol libraries which are loaded by the schematic editor.

  • drc-rules: S-expression file containing design rule checking constraints. Introduced in v6.

  • .kicad_wks: The page layout description files, for people who want a worksheet with a custom look.

  • .rpt: report file, for documentation.

  • .gbr: Gerber output files for manufacturing.

  • .drl: Gerber drill file for manufacturing.

  • .pos: position files (ASCII format), for automatic insertion machines.

  • .wrl: VRML 3D model used in the 3D viewer to represent parts.

  • .step or .stp: STEP 3D model used for integration with MCAD software packages. KiCad supports STEP file integration and can export board and component models into an integrated STEP file.

KiCad uses a few temporary file formats internally. The files it creates with these extensions (marked above with "*" ) can be excluded from version control software since they can be automatically regenerated from the source files when necessary.

Dedicated file formats

KiCad writes and reads some file formats dedicated to certain operation in collaboration with tools external to KiCad.

  • .idf: IDFv3 files used to generate lightweight 3D model exports for the mechanical CAD designer of the board and parts.

  • .wings: 3D model editable by Wings3D, used to generate the .wrl files.

  • .svg: plot files (svg format), for documentation.

  • .ps: plot files (postscript), for documentation.

  • .dxf: plot files (dxf format), for documentation.

  • .plt: plot files (HPGL format), for documentation.

  • .dsn: SPECCTRA DSN file for autorouters (like QAutorouter, FreeRouting).

  • .ses: SPECCTRA session files from autorouters (like QAutorouter, FreeRouting).

  • .cad: GenCAD used for circuit testing by the assembly house.

  • .d356: IPC-D-356 netlist that provides information about test points and connections. Generated in Pcbnew from File > Fabrication Outputs > IPC-D-356

Other formats used by the KiCad project

  • .pdf: All the help documentation intended to be read by KiCad users is in .pdf format.

  • EDIF (Electronic Design Interchange Format) netlist format. Wikipedia

  • .png: The W3C recommended portable network graphics format is a good format for posting a section of a schematic (or a section of a PCB layout) to a web page, so people can see it immediately in a web browser without manually "downloading" or "installing" anything.

  • .adoc: All those .pdf files and .html files are automatically generated from source files in AsciiDoc format. The "KiCad Documentation Status Report" persuaded us to switch from .odt format to .adoc on 2015-02-09. A lightweight markup language is easy to update with a wider variety of editing tools, and then much easier for our translators to see what changed and make corresponding improvements in other languages.