-
Latest Version
KiCad 10.0.4 LATEST
-
Review by
-
Operating System
Windows 8 (64-bit) / Windows 10 (64-bit) / Windows 11
-
User Rating
Click to vote -
Author / Product
-
Filename
kicad-10.0.4-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:
General:
- Add more support for wxWidgets 3.3
- Update existing Git origin URL in setup remote instead of failing
- Test git connection with the full SSH URL
- Fall back to configured SSH key when SSH agent fails
- Prompt user for Git credentials when authentication fails
- Fall back to remote tracking reference when pull has no upstream
- Seed project .gitignore with KiCad generated paths on Git initialization
- Refresh Git repository authorization panel as URL is typed and mask password
- Prompt and save unsaved editors before git commit
- Add "Configure Default Remote" menu item for version control
- Set Git upstream tracking after a successful first push
- Show Git pull/push/fetch results in the project status bar
- Fix file status icons in project tree Git pane
- Show which Git branch and remote pull/push will be used
- Mark and pre-select the current branch on Git branch switch
- Add "Amend Last Commit" to the "Version Control" menu
- Keep toolbar group selection when rebuilding toolbars
- Don’t create empty toolbar groups
- Allow renaming toolbar groups in the customization editor
- Honor custom dash/gap line ratio when plotting
- Fix black PNG when exporting an OpenGL canvas
- Ignore .kicad_prl file on Git project initialization
- Fix Git branch switching
- Finish diverged pulls and offer user conflict resolution choices
- Do not automatically commit an untracked .kicad_prl file
- Sort exact matches first in library tree search
- Fix crash on exit
- Expand nested environment variables in template directory lookups
- Fix corrupted DXF file export
- Fix incorrect geometry when plotting text to PDF
- Fix infinite wait on 2-thread CPUs when loading footprints and symbols in background
- Fix group infinite loops and fields
- Prevent preferences plugin panel from growing past the screen
- Don’t prompt for autosave recovery on content-identical files
- Allow disabling libraries in read only library tables
- Show the Design Blocks panel the first time it’s opened
- Persist the symbol fields table scope between sessions
- Fix crash checking writability of failed library
- Fix unsupported $HANDSEED value in DXF plotter
- Allow aborting symbol/footprint library preload
- Allow read-only fields in the properties manager to be copied
- Allow folders be added to Git repository
- Fix crash checking writability of failed library
- Fix creepage DRC failures for complex paths around NPTH slots
- Fix unsupported $HANDSEED value in DXF plotter
- Import Altium project parameters as text variables
- Allow disabling libraries in read-only tables
- Make right-click work across the whole toolbar button
- Stop text entry dialog from clobbering caller’s text value
- Reduce OS priorities of worker threads to avoid main (UI) thread stutter
- Fix empty libraries not matching the library tree filter
- Fix oversized circle when rounding a rectangle to its maximum corner radius
- Fix DRC/ERC crash during tree view render
Schematic Editor:
- Preserve search current sheet only when toggling selection
- Find non current sheets on first press in hierarchical schematics
- Fix group in a sheet jumping to page origin when moved
- Assign unique group names when placing design blocks
- Fix field resolution order on EasyEDA import
- Improve Eagle schematic import label layout
- Fix XML netlist netclass for hierarchical bus members
- Escape net names when unfolding from bus
- Automatically wrap find on end of search
- Fix spurious mixed values in symbol fields table dialog when duplicating a symbol
- Fix symbol fields table shifting values on undo
- Use custom unit display names in reference designators
- Write canonical (untranslated) net class token for directive labels
- Include device technology attributes when importing Eagle symbol libraries
- Anchor power pin not driven ERC marker on a power input pin
- Emit global labels to match flat net namespace when importing Eagle schematic
- Fix broken break and slice tool behavior
- Preserve order of database mapped symbol fields
- Do not migrate HTTP or database libraries
- Fix conflicts on used designators field in kicad project file
- Fix netlist exporters truncating pin numbers to 4 characters
- Fix Eagle schematic import of devices that support multiple technologies
- Fix crash importing Eagle schematic
- Fix bus global labels reporting false "not connected" positives when used on hierarchical sheets
- Wait for background footprint preload before ERC footprint-link test.
- Keep design block members grouped through move and undo.
- Prevent broken wire positions when moving grouped items
- Place free text and lines on owning sheet when importing PADS schematics
- Treat empty/corrupt lock files as reclaimable stale locks
- Fix error when adding a hierarchical sheet from another folder
- Fix nested groups becoming unselectable after undo
- Ensure spaces in bus alias member definitions are separate members
- Fix symbol variant attribute erroneously overruling rule area and/or sheet attribute
- Iterate all schematic variants when generating netlist
- Strip "@<tag>" linking hint from pin names when importing Eagle schematic
- Copy parent field attributes for named device technologies on Eagle import.
- Correctly import Eagle schematic variants
- Fix crash updating board from sheet other than top level sheet
- Show current variant in variant selection box after Eagle import
- Fix typo affecting import of variants using multiple technologies on Eagle import.
- Fix broken polygons on Eagle import
- Add advanced configuration option to disable automatic field placement on Eagle import
- Fix line width of rectangle and circle fills on Eagle import
Symbol Editor:
- Fix saving symbols with more than two body styles
- Prevent "Edit footprint filter" dialog from being filled with incorrect string
- Fix broken right click menu in footprint filters
- Normalize legacy library arc geometry on load
- Sort libraries alphabetically in "Save As" dialog
- Fix placement of field positions for multiple technologies on Eagle import
- Prevent crash editing symbol properties from the library tree
Simulator:
- Preserve scale prefixes and parameter references in PWL source netlists
- Allow showing more than two FFT plots
- Restore single shot PULSE default for ngspice 46
Board Editor:
- Hide table export and length tuner settings from toolbars
- Support a PCB rule entries on EasyEDA Pro import
- Allow implicit net names on EasyEDA Pro import
- Fix length tuning and select connection for traces with off center via endpoints.
- Allow creating array with zero spacing with confirmation before stacking
- Grow rounded rectangle mask radius linearly with clearance
- Correctly place via without moving mouse between via hot key press and left mouse button click
- Make pad properties panel changes propagate to DRC
- Silence enumeration compare warning in DRC rules cursor scan.
- Enforce physical_clearance rules in the interactive router
- Exclude tuning patterns from differential pair uncoupled length total.
- Fix false annular DRC errors on pads with overlapping same number pads
- Fix DRC missing hole clearance violations on first run
- Allow ctrl key to bypass angle snap when editing line endpoints
- Prevent 45 degree corner snap from pulling rectangles off grid
- Export barcodes to ODB++
- Fix physical_hole_clearance not being enforced in the interactive router.
- Prevent crash writing DRC report when there are existing DRC markers
- Do not plot drill marks on layers a pad isn’t on
- Deduplicate teardrop-vs-teardrop DRC pairs.
- Filter merged items for delay calculation correctly.
- Correctly filter merged items for delay calculations.
- Hide knockout property on table cells.
- Avoid duplicate teardrop-vs-teardrop DRC markers.
- Properly handle via-in-pad delays when routing.
- Drop URN suffix from board footprint names when importing Eagle board
- Stabilize polygon edge dragging on coarse grids
- Fix Altium PCB import zone clearance rule matching for polygon pours
- Respect absent solder paste on SMD pads on IPC-2581 export
- Copy non-copper graphics when applying design block layout
- Support shift+click range selection in table cells
- Clear silkscreen over drilled holes in STEP export.
- Prevent rule area takes selection precedence over everything else
- Prevent duplicate DRC edge clearance reports across padstack layers.
- Stop treating net code 0 as a real net in soldermask bridge check.
- Do not the reset the polar angle field to 0 every time the dialog is opened
- Ensure moving objects with arrow keys is aligned to grid
- Support mirroring tables in the PCB editor.
- Fix crash after apply design block layout.
- Fix delete removing hovered footprint instead of locked track
- Fix STEP export failing when board body is unchecked
- Respect update footprint fields and round trip exclude from position files.
- Respect update footprint fields for jumper pad attributes
- Apply design block layout to many groups at once.
- Limit hatch fill courtyard knockout to the courtyard layer
- Don’t leave footprint selected after lock/unlock hover shortcut
- Prevent crash due to symlink loops in directory scans
- Tent vias with hole referenced mask when importing an Altium board
- Import dielectric loss tangent when importing Altium boards
- Match project variants by unique ID when importing Altium boards
- Reconcile duplicate board stackup on load
- Prevent zone fill issues which include unrelated rule areas
- Run creepage checks with malformed board outline
- Fix test point layer and duplicate via when importing PADS board
- Model rounded rectangle slots in creepage DRC
- Don’t double rotate pad offset when importing PADS board
- Keep pad size consistent for flipped parts when importing PADS board
- Import per layer pad stack geometry when importing Fabmaster boards
- Normalize legacy library arc geometry on load
- Add option to keep KiCad layer names when importing Altium boards
- Fix broken zone cut outs that contain arcs
- Fix teardrop spikes on the edge
- Fix router snapping dragged footprints back with physical clearance rules
- Allow differential pair routing from a neckdown area
- Route creepage DRC paths around NPTH holes
- Tolerate rounding in creepage arc shared end point exclusion
- Export unsaved board state when exporting STEP
- Fix DRC missing clearance violations for curved tracks near rounded edge cuts
- Optionally apply design block layouts when updating PCB
- Preload libraries in standalone mode before board load
- Regenerate footprint chooser library tree when loading pin number and footprint filters
- Fix iterative zone refill blocking low priority zones after island removal
- Fix router reacting too late to physical_hole_clearance rules
- Fix zone filling that includes rule area(s) to keep out part of fill results in for unrelated zones
- Run creepage checks without board outline
- Fix test point layer and duplicate via on PADS import
- Model rounded rectangle slots in creepage DRC
- Fix broken pad offset rotation on PADS import
- Keep pad size consistent for flipped parts on PADS import
- Import per-layer Fabmaster pad stack geometry
- Fix broken circular zone cut outs
- Export dimensions to ODB++
- Snap to the active layer when no reference item is given
- Limit hatch-fill courtyard knockout to the courtyard layer
- Fix segfault in footprint chooser measure tool.
- Notify user when mirror skips footprints in selection
- Show net names on arc tracks.
- Preserve the source net when converting to tracks or arcs.
- Fix PADS import decal scalar.
- Keep boundary signal nets in design block topology match.
- Fix crash when excluding a DRC violation with no items.
- Refresh track width and via size selectors on units change
- Fix keepout DRC marker placed at origin
- Fix "Select All" missing zone hatching offsets in import settings.
- Hide locked-item shadow when the item’s layer is off
- Show inner copper layers in design block preview.
- Fix crash when applying a design block layout containing a table
- Prevent crash when adding track width to predefined sizes
3D Viewer:
- Apply rotation increment changes made in preferences
- Fix 3D model rotation normalization
- Persist "Export Image" dialog state across opens
- Fix "Export Image" pixel size readout in % mode
- Fix Export Image file size in mm and inches modes
- Prevent washed out copper look in ray trace view
- Fix model distortion during preset view animations
- Crash importing board setup
- Support footprint free design block layouts
Gerber Viewer:
- Fix automatic layer assignment on PCB export
Page Layout Editor:
- Fix status bar field position assertion on launch (Sentry KICAD-10XP)
- Make the grid origin you set actually stick
Job Sets:
- Create parent folders for archive output paths
- Expand text variables after path separators
Command Line Interface:
- Report rule driven exclusions as excluded DRC output
- Apply component class rules in headless board loader
- Fix DRC missing tuning profile synchronization on board load
- Make headless ERC match GUI on hierarchical sheet instances
- Correctly expand ${SHEETNAME} variable in the root sheet using the headless loader
- Export correct schematic variant
- Fix crash when running job set
OperaOpera 133.0 Build 5932.24 (64-bit)
LDPlayerLDPlayer - Android Emulator
PhotoshopAdobe Photoshop CC 2026 27.7 (64-bit)
BlueStacks AIBlueStacks AI
GTA 6GTA 6 for PS5
CapCutCapCut Desktop 8.7.0
PC RepairPC Repair Tool 2026
Hero WarsHero Wars - Online Action Game
TradingViewTradingView - Trusted by 100 Million Traders
Forza HorizonForza Horizon 6



Comments and User Reviews