Draft, engineer, and document precise cleanroom builds — all in one place.
Welcome back — log in to continue.
Build out cleanroom layouts, place walls, utilities, and export finished drawings.
Jump straight into the builder with a Modular structure to start from.
Pick a saved drawing to engineer, or generate its spec sheet.
Browse the drawings you've made, and reopen or redownload any of them.
Pull real products, with their published figures, into your own libraries.
Browse, draw, and upload the cleanroom products used in your drawings.
Browse the utility symbols and lines available to use in your drawings.
Set price and weight for the pre-built wall panels used in the prefab builder.
Add, browse, and edit the pre-fab unit types available in the builder.
Drawings your company has shared — open the source file, or take your own copy.
See every utility symbol you and your team have available to use in drawings.
See every line style you and your team have available to use in drawings.
Draw your own utility symbol and set how it snaps to a wall.
Upload an SVG to bring in a utility symbol from outside the builder.
Wall types, door and vent segments, and the utilities placed on a modular build.
Ceiling panels and the raw blanks they are cut from.
Choose a file to bring in as a new utility.
See every cleanroom product you and your team have available to use in drawings.
Draw a new cleanroom product from scratch, here in the app.
Upload an SVG to bring in a product prepared outside CrossHatch.
Choose a file to bring in as a new cleanroom product.
See and edit the pre-fab units already available in the builder.
Draw the unit and its footprint here instead of preparing an SVG elsewhere.
Select an SVG from your computer to add as a new pre-fab unit.
Choose a file to add as a new pre-fab unit.
What a unit file is. A pre-fab unit is a single SVG that defines both the real-world footprint the builder uses for room math, and the visible artwork rendered on top of it — the trailer wall, equipment bay, HVAC units, hatching, and every other line in the drawing.
Two required layers. The file needs exactly two top-level groups:
<g id="FOOTPRINT"> — a simple rectangle (or closed shape) marking the real
usable interior boundary. This is what the builder actually measures against when it splits rooms,
places walls, and computes square footage. It should not include equipment, hatching, or anything
decorative — just the boundary itself.<g id="SYMBOL"> — everything that's actually meant to be seen: the outer wall
lines, any equipment bay, HVAC units, wall hatching/texture, labels baked into the artwork, etc. This
layer commonly extends beyond the FOOTPRINT rectangle (e.g. an equipment bay hanging off one side) —
that's expected and the builder accounts for it automatically when sizing exports.Double-check the id actually lands on a <g> group and not on the
root <svg> tag itself — this has happened on a few files in the past and silently
breaks the layer split.
Units and scale. Draw at a scale where 1 SVG unit = 1 inch. The builder converts
using 12 units per foot, so if your file's viewBox is, say, 700 x 90, that's a 58'4" x 7'6" product.
Keep the file's width/height attributes matching the viewBox exactly, or the
builder won't scale it correctly.
Line weight. All visible line work should use one consistent, thin stroke width —
we standardize on 0.26px in the SVG's own units. The most common bug we see: a CSS class
gets used by real geometry but never gets an explicit stroke-width rule, so the browser
silently defaults it to 1px — noticeably thicker than everything else. Before uploading, check every
class actually applied to a visible line has its stroke-width explicitly set.
Alignment. The builder aligns your artwork by measuring the offset from the SVG's own (0,0) origin to the FOOTPRINT rectangle's top-left corner. Getting this offset right is what makes the room boundary line up exactly with your artwork's own wall line — if it's off, the two will visibly separate or overlap once placed in the tool.
Text and grille/mesh patterns. If your product includes a class used purely for text (like equipment labels), it doesn't need a stroke-width at all — text uses fill, not stroke. But repeating patterns like grille or mesh texture are still real strokes and need the same 0.26px treatment as every other line.