Skip to main content

What is KiCad?

KiCad is a free and open-source electronics design automation (EDA) suite for professional-grade printed circuit board (PCB) design and schematic capture. Released under the GNU General Public License, KiCad provides a complete workflow from schematic entry through PCB layout, 3D visualization, and manufacturing output generation.
KiCad is cross-platform and runs on Windows, macOS, and Linux with identical features and file format compatibility across all operating systems.

Core Applications

KiCad is not a single application, but rather an integrated suite of specialized tools that work together:

KiCad Project Manager

The central hub for managing projects, launching tools, and organizing design files

Eeschema

Schematic capture editor for creating electronic circuit diagrams with hierarchical sheet support

Pcbnew

PCB layout editor with advanced routing capabilities, differential pairs, and length matching

3D Viewer

Real-time 3D visualization of your PCB with accurate mechanical representation

GerbView

Gerber file viewer for inspecting manufacturing output files

CvPCB

Footprint assignment tool for linking schematic symbols to PCB footprints

PCB Calculator

Engineering calculator for track width, impedance, color codes, and more

Page Layout Editor

Custom drawing sheet designer for title blocks and documentation frames

Key Features

Professional-Grade Design Tools

  • Unlimited board size and layers - Design complexity is only limited by your requirements
  • Hierarchical schematic design - Organize complex circuits with reusable sub-sheets
  • Advanced routing capabilities - Interactive router with push-and-shove, differential pairs, and length tuning
  • Design rules checking (DRC) - Comprehensive electrical and manufacturing rule validation
  • Python scripting - Automate tasks and extend functionality with Python API

Modern EDA Capabilities

1

SPICE Simulation

Built-in circuit simulator based on ngspice for analog and mixed-signal analysis
2

3D Modeling

Native 3D visualization with STEP and VRML model support for mechanical integration
3

Multi-format Import/Export

Support for industry-standard formats including STEP, IDF, VRML, SVG, PDF, and Gerber X2
4

Signal Integrity Analysis

Tools for analyzing signal integrity, impedance matching, and high-speed design considerations

Open Architecture

// KiCad's modular design allows extensive customization
// Example from kicad/kicad_manager_frame.cpp
class KICAD_MANAGER_FRAME : public EDA_BASE_FRAME
{
    // Project management and tool launching
    void CreateNewProject();
    void LoadProject();
    void LaunchTool( FRAME_T aFrameType );
};
KiCad’s source code is publicly available at https://gitlab.com/kicad, allowing complete transparency and community contributions.

Use Cases and Target Audience

Who Uses KiCad?

Perfect for:
  • Arduino and Raspberry Pi projects
  • DIY electronics and prototyping
  • Learning PCB design fundamentals
  • Personal projects without licensing costs
KiCad provides professional tools without the financial barrier of commercial EDA suites.

Project Examples

KiCad includes several demonstration projects showcasing its capabilities:
  • StickHub - A compact 7-port USB 2.0 hub (16.5 x 40mm) with full ESD protection
  • PIC Programmer - Complete programmer circuit with hierarchical schematic organization
  • Complex Hierarchy Demo - Demonstrates multi-level hierarchical design patterns
  • Simulation Examples - Various circuits for SPICE simulation learning
KiCad project files (.kicad_pro, .kicad_sch, .kicad_pcb) are not backward compatible with older versions. Always check the KiCad version when sharing projects.

File Organization

A typical KiCad project consists of:
my_project/
├── my_project.kicad_pro      # Project settings and configuration
├── my_project.kicad_sch      # Main schematic file
├── my_project.kicad_pcb      # PCB layout file
├── my_project.kicad_sym      # Custom symbol library (optional)
├── fp-lib-table              # Footprint library table
├── sym-lib-table             # Symbol library table
└── my_project.pretty/        # Custom footprint library (optional)
    └── custom_part.kicad_mod

Why Choose KiCad?

Free Forever

No subscriptions, no license fees, no hidden costs. KiCad is free to use for any purpose, commercial or personal.

Cross-Platform

Identical functionality on Windows, macOS, and Linux. Projects are 100% compatible across platforms.

No Vendor Lock-in

Open file formats and extensive import/export options ensure your designs are always accessible.

Active Development

Backed by CERN and a vibrant community, KiCad receives regular updates with new features and improvements.

System Requirements

KiCad is built with CMake and requires:
  • CMake: Version 3.22 or higher (3.28.1+ for MSVC ARM builds)
  • C++ Compiler: Full C++17 support required
  • Graphics: OpenGL-capable graphics card for 3D viewer and modern canvas
For the best experience, use a system with dedicated graphics and at least 4GB of RAM for large designs.

Next Steps

Ready to get started with KiCad? Continue to the installation guide to set up your development environment:

Installation Guide

Learn how to install KiCad on Windows, macOS, or Linux and set up your first project

Build docs developers (and LLMs) love