-
Latest Version
KLayout 0.30.3 (64-bit) LATEST
-
Review by
-
Operating System
Windows 8 (64-bit) / Windows 10 (64-bit) / Windows 11
-
User Rating
Click to vote -
Author / Product
-
Filename
klayout-0.30.3-win64-install.exe
Developed with a focus on precision, speed, and customization, KLayout has become a go-to tool for layout engineers, designers, and EDA professionals.
It supports both layout visualization and script-driven layout manipulation, making it a versatile addition to any VLSI workflow.
Main Features
GDSII & OASIS File Support: Native support for industry-standard file formats.
Advanced Viewer: High-speed zooming, panning, and layer control for complex IC layouts.
Layout Editing: Includes tools for precise geometry creation, modification, and hierarchy handling.
Scripting Support: Extend functionality using Ruby or Python scripting for automation and customization.
DRC and Verification Tools: Basic design rule checks and layout analysis capabilities.
Macro Development: Create and integrate macros to streamline repetitive tasks.
Cross-Platform Support: Available for Windows, macOS, and Linux.
User Interface
KLayout features a clean and modular UI designed for technical users. The layout viewer is front and center, surrounded by layer controls, property windows, and an output console.
The interface supports tabs, customizable toolbars, and dockable panels. While it may seem dense to beginners, experienced users will appreciate the rich feature access and minimal distractions.
Installation and Setup
- Visit the official KLayout website.
- Download the Windows installer (available in both 32-bit and 64-bit versions).
- Run the installer and follow the prompts.
- Once installed, you can launch the application from the Start menu.
How to Use
- Open a layout file (.gds or .oas).
- Use the layer panel to toggle visibility or change layer colors.
- Zoom and pan to inspect layout details.
- Switch to edit mode to draw or modify geometries.
- Use the script console or load a macro for automation.
- Save edits or export to supported formats.
Is KLayout free to use?
Yes, KLayout is open-source and completely free for both personal and commercial use.
Can I use KLayout for DRC checks?
Yes, it includes a scripting interface for running design rule checks, although it’s not a full DRC engine like Calibre.
What scripting languages are supported?
KLayout supports Ruby and Python for macro and automation scripting.
Can I edit GDS files directly?
Yes, you can edit geometries, instances, and layers directly within the tool.
Does it support hierarchical layouts?
Absolutely. KLayout handles hierarchical designs efficiently and allows navigation through cell instances.
System Requirements
OS: Windows 11, 10, 8 or 7
RAM: Minimum 4 GB (8 GB or more recommended)
CPU: Dual-core or better
Disk Space: ~200 MB for installation
Graphics: OpenGL-compatible GPU recommended
PROS
- Completely free and open-source
- Supports scripting and automation
- Handles large and complex layouts efficiently
- Customizable and extendable
- Cross-platform compatibility
- UI can feel outdated
- Lacks full DRC/LVS capabilities
- Limited official documentation
- No native schematic editor
It stands out as a powerful and efficient layout tool ideal for IC designers looking for a free alternative to commercial EDA software. Its support for scripting, hierarchical layout handling, and lightweight design makes it particularly attractive for research, education, and even professional workflows.
What's new in this version:
Features:
- Enhancement: #2044 Different combination modes on strm2xxx tools (+ and ,)
- Bugfix: #2073 Klayout fails to read CELLNAME S_CELL_OFFSET property on Windows on big files
- Bugfix: #2075 strm2oas ignores def net routing wire extensions
- Bugfix: #2081 strm2oas a.oas,c.oas o.oas coredumps
- Bugfix: #2087 DRC: Poor fill with skew step vectors (see more fill-related topics below)
- Bugfix: #2088 Fixed a use case that generated duplicate OASIS cell IDs
- Bugfix: #2094 Performance issue in the python code to insert Regions into Shapes
- Bugfix: #2100 RNetExtractor extracts wrong RNode locations with tesselation
- Bugfix: #2102 RNetExtractor internal error
- Bugfix: Fixed automatic execution of scripts after package installation
- Now, restarting KLayout after package installation may not be needed
- Bugfix: File watcher dropped file after is was temporarily removed
- Bugfix: After deleting terminals from devices, reading old L2N/LVSDB files
- made these terminal re-appear in the netlist browser.
- Enhancement: primary and secondary device parameters are separated in
- the LVS netlist view, so it is easier to see which parameters are relevant
- Bugfix: Avoid a crash when reading OASIS files with broken code tables
- in OASIS CBLOCKs
- Enhancement: New Ruby/Python functions: Macro#current and Macro attributes
- (Macro#get_attribute, Macro#has_attribute, Macro#set_attribute, Macro#delete_attribute) These features allow passing values in and out from a macro in other ways than defining global variables and basically allow parameterized macros.
- Enhancement: Convenience function ObjectInstPath#cell
- Bugfix: Some layout queries did not render the correct path_dtrans
Bugfix: "tap" feature
- was not selecting shapes that fully overlap the view
- texts are not considered as detecting them requires potentially search a large area
Bugfix: Fixed a TODO from old issue #1470
- Enhancement: DRC function "def_output": A simple yet useful extension to obtain
- the output layout and to manipulate it (within limits)
- Bugfixes and enhancements: fill feature (see also issue #2087)
- tiles in tiled mode most not overlap when the origin is not global as tiles may use different origins
- more efficient computation of remaining fill area
- fill pattern "margin" feature simplifies keeping distance to other fill shapes or original features in multi-fill scenarios
- fixed MT issues when using the fill feature in tiled mode with multiple threads
- better compression of fill cell instances into arrays
- Enhancement: Ruby/Polygon methods set_properties and clear_properties for Cell, Layout, Shape and Instance
- Enhancement: a bunch of features that utilize expressions on polygons and other shapes
- to attach properties, filter base on properties or compute values in properties (aka "measurement features")
- PolygonFilterBase#expression_filter (to be used in Region#filter and Region#filtered) can be used to filter polygons based on KLayout expressions, including properties
- PolygonPropertiesExpressions object (to be used in Region#process and Region#processed) can be used to attach properties based on KLayout expressions, including other properties
- Same for Edges, EdgePairs and Texts
- Enhancement: handling of properties in shape merge in Region
- Region#join_properties_on_merge controls how properties and handled during shape merge
- New respective arguments in Region#merge, Region#merged
- New layer methods "merge_props" and "merged_props" in DRC (allows joining properties from same shapes on different layers)
- Enhancement: net property evaluation using KLayout expressions
- Allows implementing more complex antenna rule checking schemes for example
- Ruby/Python: LayoutToNetlist#evaluate_nets
- DRC: evaluate_nets
OperaOpera 121.0 Build 5600.50 (64-bit)
MasterMaster Uninstaller 1.1025.1015.822
PhotoshopAdobe Photoshop CC 2025 26.10 (64-bit)
BlueStacksBlueStacks 10.42.102.1002
CapCutCapCut 6.9.0
Premiere ProAdobe Premiere Pro CC 2025 25.4
PC RepairPC Repair Tool 2025
Hero WarsHero Wars - Online Action Game
SemrushSemrush - Keyword Research Tool
LockWiperiMyFone LockWiper (Android) 5.8.1
Comments and User Reviews