FLUIDRAFT
Design note · Design for manufacture

GDSII for microfluidics, in plain words

Your fab asked for GDSII. What the format does and does not carry — including the fact that it has no field for channel depth — and the checklist that stops a mask run going wrong.

IN THE FILE NOT IN THE FILE 2D polygons — no arcs, no curves Layers and datatypes Cells and their placement User unit and database unit Integer coordinates on a grid CHANNEL DEPTH Material and process Tolerances Polarity — channel or wall? Bonding and sealing notes
File contents · what travels where
A GDSII file is a complete description of a two-dimensional drawing and an incomplete description of a chip. Everything in the right-hand column has to travel in the covering note — starting with the one that decides your flow.

Sooner or later a fab asks you for GDSII, and if you came to microfluidics from biology or chemistry rather than from semiconductors, the request arrives without a manual. This is the manual — no layout-editor jargon, and an explicit list of the mistakes that cost a mask run.

01 — Background

What GDSII is, and why microfluidics uses it

GDSII is a binary format from integrated-circuit layout. It was never designed for fluidics; microfluidics inherited it because microfluidics is made in the same cleanrooms, on the same mask writers, by the same vendors. If your chip starts as a photomask — and most do — the mask shop's software speaks GDSII.

A GDSII file contains one thing: flat two-dimensional polygons, organised into cells and layers. That is the whole model. Everything else you might want to say about your chip has to be carried somewhere else.

02 — The costly misunderstanding

There is no depth in the file

GDSII does not store channel depth. It cannot. There is no field for it. Your 50 µm-deep channel and your 20 µm-deep channel look identical in the file if they are the same width. Depth comes from the process — the resist thickness, the etch time, the milling pass — not from the drawing.

This matters because depth is the dimension your hydraulic resistance is most sensitive to. You can hand a fab a perfect GDSII and still receive a chip whose flow is wrong, because the depth you assumed and the depth they ran were different numbers that were never written down in the same place.

So state the depth in the purchase order, in the drawing notes, and in the filename if you have to. And if your chip has two different depths, that is two mask levels and a multi-step process — say so explicitly, because the file will not.

03 — Layers

They are mask levels, not decoration

Each polygon sits on a numbered layer, optionally with a datatype. In a CAD tool layers feel like a convenience for organising your drawing. In a fab they are instructions. Nobody can guess your numbering — send a layer table with the file. Three lines of text that prevent a week of email.

LayerDatatypeMeaningProcess step
10Fluidic channels, 50 µm deepSU-8 mould, single exposure
20Inlet / outlet ports, Ø 1.0 mmPunched after bonding
100Alignment marksAll levels
630Die outline — not etchedReference only
04 — Units

The error that silently scales your chip by 1000

GDSII stores coordinates as integers, with two header numbers telling you what an integer means: the user unit (typically 1 µm) and the database unit (typically 1 nm). The grid is the database unit, so with the usual settings your geometry snaps to 1 nm — fine for anything fluidic.

The failure mode is importing a file written on a different assumption, so a 10 mm die arrives as a 10 µm speck or a 10 m monster. Always check one known dimension after import — the die outline is ideal — before you look at anything else. Five seconds, and it catches the only unit error that matters.

05 — Geometry

Curves do not exist

GDSII has polygons. No arcs, no splines, no circles. Every curve you drew is approximated by straight segments when the file is written, and the number of segments is a setting somebody chose.

Too coarse and a smooth serpentine becomes a faceted one — cosmetically ugly, and in tight bends it can change the local cross-section enough to matter. Too fine and the file becomes enormous and the mask writer slows down. There is no point resolving a curve to 10 nm when the process holds ±2 µm: pick a chord tolerance related to what the process can actually do.

Also check that round ports are still round enough after export. A 1 mm inlet rendered as a twelve-sided polygon is a port that will not seal predictably against a standard fitting.

06 — The covering note

What the fab needs that the file cannot carry

07 — Format choice

Is GDSII even right for you?

FormatUse it whenWatch out for
GDSIIPhotomask writing; anything cleanroom-adjacent2D only, no depth, no curves
DXFMany soft-lithography and laser services prefer itVersion chaos; units often ambiguous
STEPCNC, moulding, anything genuinely 3D or assembledLarge files; overkill for a single mask level
STL3D printing, visualisationTessellated surfaces — not a precise solid

Ask the fab first. Sending the format they already use removes an entire category of problem.

08 — Before you send

Seven checks

  1. Re-import your own export and measure one known dimension.
  2. Confirm the die outline is where you think it is, and that nothing extends past it.
  3. Check the layer table matches the file, layer by layer.
  4. Look at the tightest curve and the smallest port at high zoom. Faceted?
  5. Find your smallest feature and your smallest gap; compare both against the process minimum.
  6. Write the depth down, in the covering email, explicitly.
  7. Say which dimension is critical, and why.
Why we built this into the tool. Most of that list is mechanical, which means it should not be your job. FABRIX checks a design against a named process profile — minimum width, minimum gap, depth limits, corner radius — before export, and the manufacturing package carries the layer table, the stated depths, the process assumptions and a manifest of what was and was not included. It is not a certification and we do not claim it is: your fab's rules are the authority. It is a way of arriving at their inbox with the obvious problems already removed.
Demo

Draw it, check it, export it

Open a sample chip in your browser, run the manufacturing checks against a process profile, and look at what goes into the export package — before you ever talk to a fab.

Open the demo in your browser →

The complete product runs client-side. Nothing to install, nothing uploaded. Subscriptions from $79/month; academic labs pay half.