Floor plan and building layout
Draw a building floor by floor — walls with clean joins, doors, windows, stairs, rooms with their areas, dimensions, labels and scale-true furniture — over an imported plan image you calibrate and trace by hand or with automatic wall detection, see it in 3D, and export SVG, PNG, DXF (a layer set per floor) or JSON, or print it to scale.
Added
How to use it
A CAD-lite plan editor for houses, flats, garages and extensions. Everything runs in your browser and your plans are kept in it (IndexedDB); nothing is uploaded.
How to use it
-
Draw walls with ▬ Wall (
W): click (on a phone: touch, aim, lift) at each corner. Choose Exterior or Interior and the thickness. While drawing, type a length and press Enter —12'6",12' 6 1/2",12ft 6in,3.8m,380cm,3800mm, or a bare number in metres (metric) or feet (imperial); add@90for an angle in degrees. Click the start point to close a loop; Enter, a double-click or ✓ Finish ends the wall. Esc cancels. -
Snapping (the chips beside the length box): the grid, wall ends, midpoints, the perpendicular foot on a wall, any point on a wall, and 45° steps; hold Shift to lock to 0/45/90°. A green mark shows what the point snapped to. A wall that ends on another wall makes a T-junction (the other wall is split there), and walls that cross split each other, so the joins are drawn clean and rooms close.
-
Edit with ↖ Select (
V): click to select, drag a wall to move it (the walls joined to it stretch), drag a wall’s end (select the wall first) onto another end or wall to join them, drag a door along its wall. The Selection panel edits thickness, length, kind and size; Split in the middle, Delete (or the Delete key). Undo / redo: ↶ ↷, Ctrl+Z, Ctrl+Shift+Z. Drag empty space to pan; scroll or pinch to zoom. -
Doors and windows (
D,N): click on a wall. Doors are hinged (with the swing arc), double, sliding, a plain opening or a garage door; the side of the wall you click is the side the door opens to, andHflips the hinge. Windows have a sill and head height (used in 3D). -
Rooms are found automatically wherever walls enclose a space; each shows its floor area inside the walls. Double-click a room (or select it) to name it. ⬠ Room draws a room by hand where walls are not closed.
-
Stairs (
S): click the foot, then the top. The number of risers follows from the floor height (risers ≤ 190 mm and the 2R + G ≈ 600–630 mm comfort rule — a rule of thumb; your building code decides). The floor above shows the flight as a dashed outline so you can line the stairwell up. -
Dimensions (
M) — two points and the offset; automatic dimensions (Show and snap) measure each exterior face. Labels (T). Furniture (U): beds, sofas, tables, kitchen units and appliances, bathroom fittings, a car and a workbench at typical sizes (change them in Selection);Rrotates. -
Floors: add a floor above (blank, with this floor’s outline, or a duplicate), rename, set the floor-to-floor height, reorder, delete. The floor below shows faintly while you draw.
-
Trace a plan image: under Plan image and tracing, import a PNG, JPG or a PDF (page 1, read by pdf.js) — or drop it on the drawing. Then 📏 Calibrate: click two points a known distance apart (a long wall) and type the distance. ⟂ Straighten rotates the image so a line you click becomes level; set the opacity, lock it, or nudge it into place. Trace over it with the wall tool, or press 🔍 Detect walls: a background worker finds dark wall strokes (horizontal and vertical runs, and diagonal ones by Sobel edges and a Hough transform paired with the parallel edge on the far side), merges pieces into long lines, joins them at corners and T-junctions and estimates each wall’s thickness. Suggestions show dashed orange: click one to accept or reject it, double-click to accept, or Accept all. Sensitivity trades missed walls for false ones (high sensitivity also takes thin lines).
-
3D: the Plan / 3D switch extrudes the walls with their door and window openings, glazing, floor slabs, stairs and furniture blocks, floors stacked; drag to orbit, scroll to zoom.
-
Areas: below the plan, every room’s floor area, each floor’s net and gross area (to the outside of the exterior walls), wall lengths, and the totals.
-
Export: SVG and PNG of the floor (SVG is scale-true, in millimetres), DXF of the whole building (AutoCAD R12, a layer set per floor —
GROUND_FLOOR-WALLS,-OPENINGS,-STAIRS,-ROOMS,-FURNITURE,-DIMS,-TEXT— in millimetres, or inches for an imperial plan), and JSON to keep a copy or move a plan to another browser. Print to scale at 1:50, 1:100, 1/4" = 1'-0", 1/8" = 1'-0" … on A4–A2, Letter or Tabloid, with a scale bar; print at 100 % (actual size) so it measures true. -
Projects… lists the plans saved in this browser (newest first), with new, duplicate and delete, and the examples. The units switch (m / ft-in) changes how the plan is shown and typed.
-
⛶ Full screen (or
F) gives the drawing the whole screen; ◫ Panels hides the side panel; Escape leaves.
Limits
-
Rooms come from walls that meet: a gap of a millimetre leaves a room open (join the ends with Select). Curved walls are not supported; draw them as short straight pieces.
-
Net areas are measured to the wall faces with mitred corners; bay windows, columns and chimney breasts are not subtracted unless you draw them as walls. Areas are for planning, not for a survey or a sale.
-
Line detection works best on clean, high-contrast drawings with solid or dark-filled walls. Hatched walls, photos taken at an angle (straighten and crop first), heavy text and furniture produce false suggestions; very thin single-line walls need high sensitivity. Thickness estimates are rounded to 10 mm (½").
-
Default wall thicknesses, door and window sizes and furniture footprints are typical values (rules of thumb), not standards. Stairs, headroom, fire escape and structural sizes are governed by your local building code.
-
The 3D view is a massing model (no roofs, no materials). DXF is plain R12 geometry (no blocks or dimension entities: dimensions are lines and text).
-
Plans live in this browser’s storage; clearing site data deletes them. Export JSON to keep a copy.
Related: board feet and lumber, cut list optimiser, beams and trusses, sun and moon positions (sun on a plot), OCR (read text from a scanned plan), SVG viewer, smart home.
Linking to an example
Share link copies a URL with the units and the view — never your plans (a link with example opens a
fresh copy of that example).
| Parameter | Meaning |
|---|---|
|
|
|
|
|
|
Feedback is a gift. Something to improve, a feature to add, or a bug? Tell me.
Runs entirely in your browser; nothing you type leaves this page.