Glyph

File I/O

Menu Action
File → Open… Pick a .gds, .svg, .dxf, or raster image (.png / .jpg / .webp / .bmp / .gif). The file type is detected by extension and routed to the appropriate importer. GDS parsing runs in a Web Worker — the UI stays responsive while large files (50 MB+) load. Browsers without module-worker support fall back to synchronous parsing on the main thread.
Drag-and-drop Drag any of the file types above directly onto the Glyph window. A "Drop to open" overlay confirms the drop; from there the import flow is identical to File → Open.
File → Open Recent Reopen a recently opened or saved file without walking the picker. Chrome/Edge only (it needs the File System Access API); your browser will ask once per file to re-grant access. If a file has been moved or deleted, its entry is dropped from the list. Only the filename, a timestamp, and an opaque file reference are stored — never file contents. Clear recent empties the list.
File → Save (Ctrl+S) Write straight back to the file this tab was opened from (or last saved to). A tab with unsaved edits shows an orange dot next to its name. If the tab isn't bound to a file yet — a new document, a drag-dropped file, an .svg/.dxf import, or a browser without the File System Access API — Save falls through to Save as… so it never silently does nothing. Only .gds / .gdsii bind: Glyph won't overwrite a .dxf with GDS bytes.
File → Save as… (Ctrl+Shift+S) One save dialog for every format Glyph can write — pick the extension to choose the output: .gds (binary GDSII, serialized in the same worker as the parser), .svg (flattened vector snapshot), or .png (canvas screenshot). Uses the File System Access API where available (Chrome/Edge); browsers without it fall back to a .gds download (use the explicit Export menu items for SVG/PNG there). For GDS: bitmaps, construction shapes, and letterSpacing are not part of the GDS spec and are dropped on save; text shapes are written as TEXT records (flatten first if you need the glyphs as boundaries). The toolbar Save button saves in place.
File → Export SVG… Export the document as a flattened SVG snapshot — SREF/AREF expanded, hidden layers, construction shapes, and bitmaps excluded. Layer colour and opacity carry over; text is emitted as SVG text in a monospace font (flatten to boundaries first if you need exact glyph outlines).
File → Export PNG… Snapshot the canvas as you currently see it and write it to a PNG file. Resolution matches the on-screen device-pixel size; the dark panel background is composited under the layers so the file is not transparent.
File → Export figure… Publication-quality output: white background, solid fills, a 1px outline on every polygon, a layer legend (only layers that actually carry geometry), a scale bar, and a title stamp — each individually togglable. Pick a .svg filename for vector or .png for raster. Unlike Export PNG, the figure PNG is rendered off-screen over the whole design at a width you choose, so it does not depend on your window size or current zoom. Construction shapes and bitmaps are excluded, as in every export.
File → Export per layer… Each layer is one physical chromium mask. Writes a separate .gds per layer (the full cell hierarchy filtered to that layer's geometry, all its datatypes), named {base}_L{n}[_DF/_CF].gds, so a mask shop receives each plate as its own proofable artifact. Download one layer at a time or "Download all".
File → Save / Load layer setup… Save just the layer palette (id, name, color, visibility, lock, stipple, opacity, field tone) to a .json file. "Load" replaces the current document's layers atomically (one undo step). Use this to pin a house style across documents.
File → Import foundry layer map… Load a foundry / PDK layer table — a CSV (name,layer,datatype,color,stipple, header auto-detected) or a KLayout .lyp — so an opened GDS comes up with named layers (M1 / VIA / POLY), house colours, the right (layer, datatype) pairs, and KLayout stipple patterns. Layers referenced by existing geometry but absent from the map are preserved as stubs so nothing vanishes. One undo step.
File → File properties… View and edit the document's GDS library name (LIBNAME on export) and database unit (DBU = precision). The DBU is the GDSII grid resolution; most tools/foundries expect 1 nm (0.001 µm), and a non-default value raises a warning since a mismatch silently rescales every coordinate on the recipient's import. Changing the DBU is non-destructive — your geometry's physical size is preserved. A Mirror geometry on export checkbox flips the exported .gds about the Y-axis (a back-side / wrong-reading mask for a dual-sided process) without redrawing — the on-screen geometry stays intact so the mask shop never double-mirrors. One undo step. (The "Advanced" section exposes the raw GDS user-unit value.)
File → Layer statistics… A per-(layer, datatype) mask-list / statistics rollup across the whole document: name, field tone, exportable-shape count, and bounding extent — the table a reviewer checks against the foundry layer table before tape-out. Compute union area & density runs an opt-in polygon union (overlaps merged, so stacked fill isn't double-counted) and a % coverage over the design extent. Export CSV writes the whole table (raw nm/nm²). Counts are over each cell's own drawn geometry (instances counted once; bitmaps & construction excluded).
File → Autosave status… Open the autosave history dialog (see below).
File → Diff against another .gds Pick a second GDS file and produce a per-layer diff report. The full SREF/AREF hierarchy is flattened and every element kind (boundary, box, path, text) is compared, so a change living inside a referenced cell, a path-width edit, or a text-only change is reported — not missed as "Identical". Each layer/datatype row shows the XOR polygon count, XOR area, and the count of added / removed elements. Saved as .txt. Enormous arrays are corner-sampled (the report notes when this happens).

The parser/writer pair is tested to be byte-identical round-trip on the fixture set, so files written by Glyph are safe to re-open in KLayout, Clewin, or any standard GDS tool.

DXF import. ASCII DXF files (AutoCAD and most mechanical/architectural CAD) import as editable geometry: LINE, LWPOLYLINE/POLYLINE (including bulge arcs), CIRCLE, ARC, ELLIPSE, SOLID/TRACE, 3DFACE, TEXT/MTEXT, SPLINE (flattened to polylines), HATCH (boundary outlines) and DIMENSION pictures. Curves are flattened with a chord-deviation budget. DXF's BLOCK/INSERT hierarchy is preserved — each block becomes a Glyph cell and each insert an SREF (or AREF for arrayed inserts). Some CAD exporters (notably SolidWorks / eDrawings) leave the real part geometry in anonymous blocks that are never formally INSERTed; Glyph surfaces any such un-referenced block by placing it at the origin so its geometry isn't silently lost (a strict reader would drop it). Drawing units follow the file's $INSUNITS header (e.g. millimetres → real-world size); files with no unit declared default to 1 drawing unit = 1 µm. The absolute scale is just a starting point — select all and rescale via the Properties panel if you need a different size. Binary DXF is not supported (re-save as ASCII DXF). Imported layers default to hollow (outline-only) so the drawing reads as CAD line-art instead of opaque fills. Colours come from the AutoCAD Color Index: a layer's own colour for ByLayer entities, and per-entity colour overrides (e.g. a cyan region or green frame) are preserved by routing them onto separate colour-variant layers (0 · cyan, 0 · green, …). Switch any layer to solid/hatch in the Layers panel if you want filled regions. Note: non-Latin text (e.g. CJK labels) falls back to the built-in stroke font's ASCII glyphs, and dashed linetypes render solid.

Autosave & restore points. Every open tab is debounced-saved to the browser's OPFS (Origin Private File System) 2 seconds after the last edit. Browsers without OPFS (older Safari, locked-down corporate setups) fall back to localStorage. Saves never go over the network — they live in your browser's private storage and are wiped if you clear site data.

Glyph keeps a newest-first list of up to 10 snapshots rather than a single most-recent save. Bursts of edits inside a 5-minute window collapse into one entry; an explicit "Save now" creates a fresh restore point you can roll back to later.

Snapshots older than 7 days are silently discarded. Empty documents (a fresh tab with no shapes) are not saved. Recovered tabs carry their original name but start with empty undo history (the snapshot omits the undo stack to keep storage small).

Privacy. Glyph has no backend and uploads nothing — your design files never leave your browser. (The nanyte.com website that hosts these docs uses standard web analytics.) The two opt-in exceptions, both initiated by you with explicit clicks:

The diagnostic-report button on the error overlay copies the stack to your clipboard; nothing is sent automatically. See Help → About for the full library + privacy summary.


Updated 2026-07-14

Open Glyph — free, no install Your files never leave your browser.
Open Glyph →