KiCad has no board size, copper layer count or pin count limitations, and no restrictions on commercial use. Boards route across as many as 32 copper layers. The project dates to 1992, develops under the GNU GPL v3, with the Linux Foundation handling its donations and funding. It builds for Windows, macOS, and Linux.
KiCad treats a design as a series of separate applications rather than modes within a single application. A project manager launches them, and they share the project files between them. This is the first thing anyone arriving from a single-window EDA package sees. The schematic editor and the board editor are two programs, open in two windows, and switching between them means switching applications.
FROM SCHEMATIC TO PCB
Moving a project rather than starting one is where it matters. Import filters exist for EAGLE, Altium and several other EDA packages.
Schematic capture is done in Eeschema. Hierarchical sheets split a design into linked pages, so a project running to dozens of interconnected sheets stays organized rather than sprawling across a single canvas. Symbols are taken from the official library, which carries thousands, and the symbol editor builds new ones for parts the library does not cover. By attaching SPICE models to those symbols, ngspice can simulate circuit behavior directly from the schematic, although a part only simulates if a model is attached to it.
Connection faults like unconnected pins, conflicting outputs, missing power flags are flagged up by the Electrical Rules Checker before the design even leaves the schematic, when they are still cheap to fix.
The intersection between schematic and board is CvPcb, which provides a physical footprint for each symbol in the design. A resistor symbol becomes a particular land pattern. A connector symbol becomes a particular through-hole outline. Footprints either come from the official library or from the footprint editor, and Bitmap2Component converts an image into a footprint when a logo or artwork needs to be placed on the silkscreen.
FROM THE BOARD TO VERIFIED DESIGN
Layout is done in Pcbnew. The interactive router pushes existing tracks out of the way as it draws a new one, rather than refusing a route that crosses them. Length matching aligns tracks to equal delay across a parallel bus. Differential pair routing keeps a signal pair at a given gap along its entire run. Where a track has to carry a known current or achieve a target impedance, the PCB Calculator calculates the width, the via size and the impedance for the stackup in question.
The Design Rules Checker then checks the completed layout against the constraints defined for the board: clearances, track widths, drill sizes and annular rings.
Every footprint links to a 3D model and it is that link that makes the 3D viewer useful rather than decorative. The board renders with its components in place so that mechanical fit against an enclosure is checked before a board is ordered. Rendered images of the assembled board are generated by a built-in raytracer with adjustable lighting. The same 3D data exports as STEP or VRML for mechanical CAD.
FROM VERIFIED DESIGN TO FACTORY
Fabrication output is Gerber RS-274X with Excellon drill files, the output most board houses expect. KiCad also writes IPC-2581 and ODB++, which contain netlist and assembly data with the copper geometry in one file instead of a folder of separate layers. Bills of materials export in various file formats.
GerbView opens those Gerber and drill files for inspection, which is how a designer confirms what actually left the editor before it gets to fabrication. The drawing sheet editor defines the title block and border carried on printed schematic and board sheets accompanying the package.
What doesn’t travel with the design is the infrastructure that commercial packages build around it. KiCad does not have real time multi-user collaboration, nor does it have supply chain integration that checks part availability or pricing from within the editor. Those workflows run outside of KiCad by the teams that use them.





