Web app · IDE extension · Getting started · Features
Professional GDSII layout analysis tool for nanofabrication engineers. Built for daily EBL workflows: inspect layer structure, calculate pattern density, analyze critical dimensions, and run design rule checks — all in a fast, offline desktop app.
Open GDS Inspector in the browser
The same analysis, plus a full layout viewer, with nothing to install. Files are read inside the browser tab and never uploaded.
- 2D view: hatched layers in KLayout style, full hierarchy with instancing, level of detail for millions of placements, labels, grid and scale bar.
- 3D view: extruded metal stack with adjustable height, exploded layers and a section cut.
- Process aware: recognises SKY130, GF180MCU and IHP SG13G2 layer maps; imports KLayout
.lypfiles for any other process. - Inspect: click a shape for its size, area and hierarchy path; click again to step through stacked shapes. Cell tree with highlight, hide and open as top; search over labels and cell names; a gallery of all top cells for standard cell libraries.
- Measure: snapping ruler and cross-section profiles along any line.
- Analyse: per-layer placed area, true coverage density maps, minimum widths, rule checks with markers, EBL beam-on time.
- Share:
?url=opens a remote GDS file, the view position is kept in the address. Export PNG, SVG, the JSON report (same format as the desktop app) and a layer CSV.
Keyboard: 1 hides fill, decap and tap cells, 2 hides top cell geometry, 3 highlights the selected cell, 4 zooms to the selection (as in the Tiny Tapeout viewer), T switches 2D and 3D, R ruler, X cross-section, ? lists the rest.
Run it locally:
cd web
npm install
npm run devnpm test runs the unit tests. The CI parity job writes a fixture with gdstk and checks that the browser port reports exactly what gds_inspector/inspector.py reports.
GDS Inspector also runs inside VS Code, Cursor, Windsurf, VSCodium and other editors built on VS Code. Click a .gds file and it opens in the layout view instead of a binary text warning.
Install: download gds-inspector-*.vsix from the latest extension release, then in the editor open the Extensions view, the ... menu, Install from VSIX, and pick the file. From a terminal:
code --install-extension gds-inspector-0.1.0.vsix(cursor, windsurf and codium take the same flag.)
- Opens
.gds,.gds2,.gdsii,.gdsxand.gds.gzfiles, also in remote, WSL and container workspaces. - Follows the editor's light or dark theme.
- Reloads in place when the file changes on disk, so rerunning a layout flow updates the open view.
- Applies a KLayout
.lypthat sits next to the layout, or the one set ingdsInspector.layerProperties. - Command palette: GDS Inspector: Open Layout and the four exports (PNG, SVG, JSON report, layer CSV).
Develop: cd vscode && npm install && npm test builds the web app into the extension and runs the integration tests in a downloaded VS Code.
Store publishing is automated: pushing a tag vscode-v<version> builds, tests and attaches the .vsix to a GitHub release, and also publishes to the VS Code Marketplace and to Open VSX (used by Cursor, Windsurf and VSCodium) once the repository secrets VSCE_PAT and OVSX_PAT exist.
Download GDS Inspector for Windows
The installer is self-contained. No Python installation required.
Layer Summary — all layers with polygon counts, covered area, inline density bars, and color-coded minimum CD values.
Critical Dimension Analysis — minimum and maximum feature sizes per layer, sorted by min CD. Values below 100 nm are flagged in red for immediate visibility before tape-out.
Layout Preview — 2D canvas rendering of the flattened top cell with per-layer colors and a calibrated scale bar. Supports up to 3,000 polygons without performance issues.
Layer Inspector — view all layers with polygon counts, covered area, and color-coded indicators.
Pattern Density — per-layer density relative to the top-cell bounding box. Critical for EBL proximity effect correction on the EBPG5200Z and similar tools.
Critical Dimension Analysis — minimum and maximum feature sizes per layer. Flags structures below 100 nm with color-coded severity for quick review before tape-out.
Design Rule Check (DRC) — automated check for minimum width and minimum area violations with configurable thresholds. Shows violation location and cell name.
Layout Preview — 2D canvas rendering of the flattened top cell with correct layer colors and a calibrated scale bar.
Auto-Update — detects and installs new versions silently in the background.
GDSII binary format: .gds, .gds2, .gdsx
The analysis engine is written in Python using gdstk, a high-performance GDSII/OASIS library.
gds_inspector/
inspector.py — layer analysis, density, CD extraction
drc.py — min-width and min-area design rule checks
pip install -r requirements.txt
python backend_main.py path/to/layout.gdspytest tests/ -vPrerequisites: Python 3.11+, Node.js 20+
# 1. Build Python backend
pip install -r requirements.txt pyinstaller
python generate_icon.py
pyinstaller --onedir --name gds_backend backend_main.py
copy dist\gds_backend desktop\resources\gds_backend
# 2. Build Electron installer
cd desktop
npm install
npm run buildThe installer will be in desktop/dist/.
| Layer | Technology |
|---|---|
| Layout parsing | gdstk (C++ GDSII library) |
| DRC engine | Python (polygon geometry) |
| Desktop shell | Electron 28 |
| Packaging | PyInstaller + electron-builder |
| CI/CD | GitHub Actions |
MIT




