-
Latest Version
KiCad 9.0.0 LATEST
-
Review by
-
Operating System
Windows 8 (64-bit) / Windows 10 (64-bit) / Windows 11
-
User Rating
Click to vote -
Author / Product
-
Filename
kicad-9.0.0-x86_64.exe

Initially developed in 1992 by Jean-Pierre Charras, KiCad for PC has evolved significantly over the years, becoming one of the most popular tools for electronics hobbyists, engineers, and professionals alike.
Its robust feature set, combined with its open-source nature, makes it a versatile choice for PCB design, capable of handling both small-scale and complex projects.
Main Features
Schematic Capture
KiCad's Eeschema module allows users to create complex circuit schematics with ease. It includes a wide range of components and supports custom symbols. Users can easily create and manage hierarchical designs, which is particularly useful for large projects.
PCB Layout
The PCBNew module is where the magic happens for PCB design. It supports multi-layer boards, differential pair routing, and high-speed design. The interactive routing tool offers real-time design rule checking, ensuring that your design is manufacturable.
3D Viewer
It includes a powerful 3D viewer that lets you visualize your PCB in a 3D space. This feature helps in understanding the placement of components and verifying the physical layout before manufacturing.
Library Management
It provides extensive libraries of components, footprints, and symbols. It also allows users to create and manage their own libraries, ensuring that you have the exact parts you need for your design.
SPICE Simulation
This program integrates with Ngspice for circuit simulation, allowing you to test your circuits before building them physically. This feature is invaluable for verifying the functionality of your design.
User Interface
KiCad’s user interface is clean and functional, though it may seem a bit overwhelming to beginners due to the vast array of tools and features available.

The interface is divided into different modules—Eeschema for schematic capture, PCBNew for PCB layout, and more—each with its own set of tools and options.
The learning curve can be steep, but once familiar with the interface, users will find it highly efficient and customizable. It supports multiple windows and tabs, allowing for easy navigation between different parts of a project.
Installation and Setup
Download: Visit the official website or FileHorse and download the installer for your operating system.
Installation: Run the installer and follow the on-screen instructions. The installation process typically takes a few minutes, depending on your system.
Initial Setup: Upon first launch, it prompts you to configure the default libraries and settings. This step is crucial as it ensures you have all the necessary components and tools available.
Getting Started: It offers a range of tutorials and documentation to help you get started. It’s recommended to go through these resources to familiarize yourself with the software.

How to Use
- Create a Project: Start by creating a new project. It organizes everything into a project directory, making it easy to manage files.
- Schematic Design: Use the Eeschema module to create your circuit schematic. Add components from the library, connect them using wires, and assign footprints to each component.
- PCB Layout: Once your schematic is complete, switch to PCBNew to start laying out your PCB. Import the netlist from Eeschema and place your components on the board. Use the routing tools to connect the components.
- 3D Visualization: Use the 3D viewer to check your PCB layout in a three-dimensional space. This step is essential for ensuring the physical design meets your expectations.
- Manufacturing Files: Generate Gerber files and other necessary manufacturing files from PCBNew. These files are what you will send to your PCB manufacturer.
Is KiCad suitable for professional use?
Yes, this program is widely used by professionals for commercial projects. Its feature set is robust enough to handle complex designs, and being open-source, it receives continuous improvements from the community.
Can I import projects from other EDA tools into KiCad?
It supports importing designs from other EDA tools like Eagle. However, the import process might require some adjustments to ensure compatibility.
Does KiCad have simulation capabilities?
Yes, it integrates with Ngspice for SPICE-based circuit simulation. This feature allows you to simulate and verify your circuits before building them.
Is there a limit to the size or complexity of a project in KiCad?
No, the app does not impose any artificial limits on the size or complexity of your project. It can handle multi-layer boards, high pin-count components, and large designs.
How can I learn KiCad efficiently?
The community offers extensive documentation, tutorials, and forums. Additionally, there are many video tutorials available online that can help you learn the software quickly.
Alternatives
Eagle: A popular EDA tool by Autodesk, Eagle offers similar functionality but comes with a steeper price tag and limitations on board size in the free version.
Altium Designer: Altium is a high-end EDA tool used by professionals in the industry.
Fritzing: Fritzing is an open-source tool designed for beginners and hobbyists.
LTspice: Fast, and free SPICE simulator software, schematic capture and waveform viewer.
Pricing
This software is completely FREE and open-source, with no restrictions on its use.
This makes it an attractive option for both hobbyists and professionals who need powerful PCB design software without the high cost.
System Requirements
- Operating System: Windows 11, 10, 8 or 7
- Processor: 1 GHz or faster processor
- Memory: 2 GB RAM minimum (4 GB or more recommended)
- Storage: 2 GB of available disk space
- Graphics: OpenGL 2.1 or higher-compatible graphics card
- Free and open-source
- Robust feature set for professional use
- Multi-platform support
- Extensive community resources
- User interface can be overwhelming at first
- Occasional bugs and glitches
KiCad is a powerful and versatile EDA tool that is well-suited for both beginners and professionals. Its open-source nature, combined with a comprehensive feature set, makes it an excellent choice for PCB design.
While it has a learning curve, the benefits of using this program far outweigh the initial challenges. Whether you’re working on a small hobby project or a complex commercial design, it provides all the tools you need to bring your ideas to life.
Also Available: KiCad for Mac
What's new in this version:
By the Numbers:
Source repository contributions:
- KiCad 9 was built with changes and additions from hundreds of developers, translators, library contributors, and documentation submitters. There were 4,870 unique commits made that changed code and translations, which was roughly equivalent to Version 8. Our annual development cycle continues to provide regular major releases for our user base and attract new contributors and sponsors.
- Improvements to the official KiCad libraries:
- 2024 was another big year for the KiCad library team. With the help of six new librarians joining the effort, the library gained almost 1500 new symbols, 750 new footprints, and 132 new 3D models along with thousands of updates to fix or improve existing parts. The team processed over 2309 merge requests. With even more people helping this year, the team is able to address issues more quickly and has been driving down the backlog of pending merge requests. We are excited to see so many contributors join the library team and accelerate the library’s growth.
General:
Jobsets (predefined output jobs):
- Mark Roszko contributed a feature that provides predefined sets of ‘jobs’—for example, plotting, exporting, and running DRC—on schematics and PCBs. Independent jobset files are reusable as users may want to create output pipelines that they can apply across their projects for consistency. Jobsets can be run from the command line or from the KiCad GUI.
Embedded files:
- Seth Hillbrand implemented embedding various elements in your schematics, PCB layouts, footprints and symbols that were previously linked to external files. This allows the creation of fully self-contained KiCad files that do not rely on any external files such as fonts or 3D models.
- embed font
Bezier curve tool in all editors:
- A Bezier curve creation tool in the schematic and PCB editors was implemented by John Beard. Like the arc tool, there are some guide lines in the PCB editor and by default it chains them as tangent to each other. The backspace key works in the same way as the arc tool. The interactive edit guides are not (yet) in the schematic editor (same for arcs). Beziers were already importable and editable once imported, but now they can be created from scratch.
Multi-channel design support:
- Tomasz Wlostowski contributed support for creating multi-channel designs. This allows the user to repeat PCB layout elements from one channel to create identical copies.
Component classes:
- James Jackson has added a component class feature that allows grouping of various symbols and footprints into classes that can have specific design rules applied. Component classes are set on symbol in the schematic editor and then apply to the footprints associated with those symbols. Directive labels attached to a rule area can now take a ‘Component Class’ field. Symbols within the rule area will be assigned that component class. The ‘Component Class’ field can be set directly on
mbols as well:
- comp class 1
- Symbols can have more than one component class, taking on any that are defined directly on the symbol or any of its sub-units or from any directive labels attached to any rule areas which contain the symbol.
- In the PCB editor, component classes are attached to the symbol’s footprint:
- There are three new DRC expressions / functions to support querying component classes:
- (condition "A.ComponentClass == 'CLASS_1,CLASS_2'")
- to test against the full list of component classes, where the composite component class is a comma-delimited list in alphabetical order),
- (condition "A.hasComponentClass('CLASS_1')")
- to test if a footprint is part of a specific component class, and
- (condition "A.memberOfFootprint('${Class:CLASS_1}')")
- to test if an item is part of a footprint in a specific component class.
- Table editing in schematic, symbol, and footprint editors
- Thanks to the efforts of Jeff Young, tables can now be added to schematic, symbol library, and footprint library editors putting them on par with the PCB editor. Additional editing features were also added to tables.
- table sch
Custom ERC/DRC errors, warnings, and exclusion comments:
- Jeff Young added a feature that lets you create ERC/DRC errors and warnings from text boxes and
elds using the following text variables:
- ${ERC_WARNING <custom title>}
- ${ERC_ERROR <custom title>}
- ${DRC_WARNING <custom title>}
- ${DRC_ERROR <custom title>}
Mouse scroll wheel actions:
- John Beard added a scroll action feature in the PCB, schematic, footprint and symbol editors. Shift-Alt-Scroll is a primary function and Ctrl-Alt-Scroll is a secondary function.
- The current bindings are to use this to increment text, with the rightmost “part” being primary and the next rightmost part being secondary. For example, Shift-Alt-Scroll on “B2” goes to “B1” or “B3”, Ctrl-Alt-Scroll goes to “A2” or “C2”. This is a bit heuristic, but seems to work well for the obvious cases. As a side effect of being able to detect the mouse being over name or number, the symbol editor “Edit Pin” dialog now puts the initial focus on the number field if the mouse was over it when double-clicked or the ‘E’ hot key.
- Footprint editor: pad numbers and text
- PCB editor: text
- Symbol editor: pin numbers or names (depending on mouse position) and text
- Schematic editor: labels and text
Continued Documentation Improvements:
- Graham Keeth has been hard at work updating KiCad’s documentation for Version 9. Thanks to his work, most of the new features and changes in KiCad 9 are already documented. In addition to documenting new features, Graham has been improving all areas of the documentation with updated screenshots, copy editing, and corrections. Our documentation translators have also been working to update the translated text so that up-to-date KiCad documentation is available in more languages.
- Other KiCad-wide changes:
- The command line interface gained several new abilities, including raytracing 3D images
- Reverse mouse wheel zoom option
- Image reference points
- Expand/collapse all context menu entry in library editor tree panels
- Assign multiple net classes to a net
- Context menu copy from inspector report panels
- Text justify actions that can be mapped to hot keys
- Comment can be added to ERC/DRC exclusions
- Right-click action to remove ignored tests from the ERC/DRC dialogs
- Right-click copy of inspector window contents.
- Allow pasting images from the clipboard as reference images in schematic, PCB, and worksheet editors
- "Copy as Text" action which allows copying the text content of text items, fields, labels, tables, table cells, and dimensions
Schematic and Symbol Editors:
Selection filtering:
- The schematic and symbol library editors now have object selection filtering like the PCB and footprint library editors have thanks to Jon Evans.
- sch selection filter
Sheet pin/hierarchical label synchronization tool:
- One of our newest core team developers Ethan Chien has contributed a new sheet pin/hierarchical label synchronization tool. This tool provides management of sheet pins and their associated hierarchical labels instead of having to switch back and forth between the sheet and schematic.
Net class rule areas:
- James Jackson added support for schematic net class rule areas that allow users to draw a shape to which net class directives can be attached to all nets defined by the shape.
- netclass rule area
Design blocks:
- Mike Williams contributed the schematic design blocks implementation. This feature allows users to create libraries of reusable schematic blocks. This feature will be extended to include reusable PCB layout blocks in a future version of KiCad.
- sch design blocks
Net class color highlighting:
- There is a new option to apply net class coloring as a "highlight" around the wire instead of just changing the color of the wire itself. This handy usability improvement was contributed by James Jackson.
- sch highlight netclass color
Other smaller changes to the schematic editor:
- Saving a symbol to another library in the symbol editor will now save all symbols it is derived from
- "Save As" and "Save Copy As" commands in symbol editor
- Warning when attempting to edit read only library with option to make an editable copy
- Option to not show hidden fields in the symbol editor
- Net navigator now displays all nets in the schematic
- Option to exclude symbols from simulation
- Import Eagle schematics with modules
- Symbol editor pin dragging
- Symbol alternate pin mode indicators
- Save derived symbols to different library
- ERC for local and global labels with the same name
- ERC for unconnected endpoints
- Support importing Altium ASCII schematic file format
- Sheets can be renamed from the hierarchy navigator
- Option to exclude symbols from simulation
- Option to show indicators on symbol pins with alternate definitions
- Ability to mark an entire sheet as "do not populate", "exclude from board/BOM", or "exclude from simulation"
- Option to plot the "do not populate" indicators
- Allow changing symbol unit in "Edit Reference Field" dialog
- Allow assigning multiple net classes to a single net
- Introduces ordering of net classes
- Allow net classes to have null properties (except default net class)
- Effective net classes are constructed from non-null net class fields in net class priority order with default net class parameters always used as fallback
- DRC checks for net class equivalence as requiring both items to have the same set of constituent net classes
- DRC test net class name (A.netclass == 'my_netclass') against the comma-separated list of priority ordered constituent net classes
- Add DRC function A.hasNetclass('my_netclass') to test if a given net class is assigned to an item
- Schematic and PCB net class coloring taken from the effective aggregate net class for a net
PCB and Footprint Editors:
IPC API:
- Jon Evans created a new API for the board editor based around inter-process communication (IPC) that will eventually replace the current Python wrapper interface. This interface will provide much improved stability and API stability over the wrapper interface and will be extended to support the schematic editor during version 10 development. For more information on the new API, please see the developer documentation.
Zone manager:
- Ethan Chien has contributed a new zone manager feature which allows easy preview and adjustment of zone priorities and other settings without having to edit each zone individually to verify the result of the changes.
- pcb zone manager
Improved via tenting control:
- Control over via tenting on top and bottom sides at a board level and per-via overrides was provided by Jon Evans. This change allows complete control over via tenting compared to the options available in previous versions of KiCad.
Layer pair presets:
- John Beard added some helpful features for working with layer pairs: presets and a quick-switch list. “Enabled” pairs, along with the currently-set pair if not itself a preset, can be cycled with the “Shift+V” hot key.
Shape modification tool:
- Internal board cutouts usually cannot be manufactured with sharp corners. John Beard created an aptly-named "Dog bone" tool to create the proper shape(s) determined by the diameter of the tool used to route the cutout.
- pcb cutout tool
Interactive positioning tool:
- Another handy tool by John Beard allows users to position objects by drawing a line and then defining what that line should be.
- Another use is a more direct way to manipulate objects by first getting them into a known position and then using Move Exact. It can also be used to set alignment in one axis or the other.
- The vector doesn’t have to be on either object, which allows direct use of a dimension of something else as a movement for the selection.
- Multiple track drag:
- Tomasz Wlostowski updated the push and shove router to allow dragging of multiple tracks. While not the same as routing multiple tracks, this change will greatly improve routing boards with complex buses.
- Creepage design rule check
- Fabien Corona implemented a design rule check for electrical creepage clearances. The new rule syntax and the resulting DRC errors are shown below.
- (rule HV_HV
- (constraint creepage (min 20mm))
- (condition "A.hasNetclass('A') && B.hasNetclass('B')")
- pcb creepage drc
3D model export improvements:
- 3D models can now be exported to XAO, STL, BREP, and PLY file formats including silk screen and solder mask layers thanks to the efforts of Aleksandr Shvartzkop
Other changes to the PCB editor:
- Net inspector panel
- Cursor snap indicators
- ODB++ export
- Option to plot pad outlines and numbers on fabrication layers
- Allow pasting text directly as text items
- Include silk screen and solder mask in 3D export
- Filter models to include/exclude in 3D export
- Plot all layers to a single PDF document with separate pages instead of to separate PDF files per layer
- Differential pair skew and acute angle design rule checks
- Optional skew DRC flag for independently checking differential pair skew rules
- Design rule failure clearance indicators
- Track solder mask removal
- Arbitrary reference for relative position tool
- Cursor snap indicators
- External dimension leaders
- Zone corner chamfering
- Option in position relative tool to use arbitrary reference point which can be snapped to objects
- Outset creation tool
- Polygon simplification tool
- Vias with per layer diameter annular rings
- Override locked footprints when updating PCB from schematic
- Allowing grouping of user defined layers as front/back pairs
- Exporting 3D models from command line interface with ray tracing is now supported
- Extend physical_clearance rule to apply between copper fills and footprint courtyards
- Improved rendering of plated through holes
- Inward facing dimension arrows
- 3D model export improvements
- Option to fuse copper geometry together
- Option to export copper on inner layers
- Options to exclude board body or footprint models
- Net filter (can be used to export a single net)
- Zone geometry approximation with arcs for faster processing and smaller file sizes
Other tools:
- Tolerance calculations added to calculator tool regulator panel
OperaOpera 117.0 Build 5408.53 (64-bit)
PC RepairPC Repair Tool 2025
PhotoshopAdobe Photoshop CC 2025 26.4.1 (64-bit)
OKXOKX - Buy Bitcoin or Ethereum
iTop VPNiTop VPN 6.3.0 - Fast, Safe & Secure
Premiere ProAdobe Premiere Pro CC 2025 25.1
BlueStacksBlueStacks 10.42.0.1016
Hero WarsHero Wars - Online Action Game
SemrushSemrush - Keyword Research Tool
LockWiperiMyFone LockWiper (Android) 5.7.2
Comments and User Reviews