Getting started: a two-step workflow
The planner works in two steps. Switch between them any time with the Design Steps buttons.
Step 1 — Room Setup (purple)
- Set dimensions — enter the room's width and length.
- Add doors — click “Add Door” and choose the wall, position, width and type.
- Add windows — click “Add Window” and set the wall, position and width.
- Fine-tune — drag the round door/window handles on the plan to slide them along the wall.
While you set up the room, furniture is locked so you can't move it by accident.
Step 2 — Furniture (green)
- Add items — click “Add Item”, then set the name, size and color.
- Drag to move — drag any piece on the plan to reposition it.
- Rotate — drag the circular handle above a selected piece.
- Edit details — select an item in the sidebar to change its size, position or rotation precisely.
- Lock — click the lock icon so a finished piece can't be moved.
While arranging furniture, doors and windows are locked.
On a phone, tap Edit Room or Edit Furniture to open the editor and View to return to the plan. Pinch to zoom and drag the background to pan.
Units & measurements
Choose how measurements are shown with Display Units at the top of the sidebar. You can switch at any time — your layout isn't changed, only how it's displayed.
| System | Example | Good for |
|---|---|---|
| Feet & inches | 12'6" | US residential |
| Decimal feet | 12.5 ft | US commercial |
| Inches | 150 in | Detailed work |
| Meters | 3.8 m | International |
| Centimeters | 380 cm | Precision metric |
Tip: you can type a value in any unit and it is converted automatically — for example 12'6", 12 ft 6 in, 150in, 3.5m, 1m 20cm or 350cm. A plain number uses the current display unit. Press Enter or click away to apply.
Doors & windows
Add as many doors and windows as you need, on any wall.
- Wall — top, right, bottom or left.
- Position — distance from the start of the wall (left end for top/bottom walls, top end for side walls).
- Width — the opening size; it can't exceed the wall.
- Door type — swing in, swing out or sliding. Swing doors show their swing arc so you can keep it clear of furniture; use Hinge to flip which side they open from.
Furniture
- Size — set an exact width and depth for each piece.
- Position — drag on the plan, set X/Y in the sidebar, or nudge with the arrow keys.
- Color — pick one of 10 preset colors or enter any custom hex color.
- Name — click the item's name in the sidebar to rename it.
Rotating items
Select a piece and drag the circular handle above it around the piece. When you let go close to a 15° step (for example 45° or 90°) it snaps exactly onto it. You can also type an exact angle in the sidebar's Rotation field, or press R to turn the selected item 90°.
Locking & hiding
- Lock an item with its lock icon to stop it being moved, resized or rotated. Locked items have an amber border and 🔒 badge.
- Hide an item with the eye icon to compare layouts with and without it. Hidden items disappear from the plan and are shown dashed in the sidebar.
Overlap & boundary warnings
A piece gets a red border and ⚠️ badge when it overlaps another visible piece or sticks out of the room. Rotation is taken into account, and pieces that only touch are fine.
Saving & floor plans
- Auto-save — every change is saved automatically in your browser; the header shows when it was last saved.
- My Floor Plans — click the folder icon to create, open, rename, duplicate or delete plans.
- Rename — click the plan's name in the header to rename it.
- Undo / redo — use the arrow buttons in the header or Ctrl/⌘+Z.
Export & import
- Export plans — in My Floor Plans, select one or more plans and click Export to download a JSON backup.
- Import plans — paste an exported file's contents into Import Floor Plan(s).
- Layout JSON — the Share dialog also shows the current layout as JSON you can copy, and accepts pasted JSON to load a layout.
Your data stays in your browser
There's no account and no server-side storage: your floor plans live in your browser's local storage on this device. Clearing site data removes them, and they don't sync between devices — use share links or JSON export to move a plan or keep a backup.
Anonymous analytics
Your layouts are never uploaded. To improve Room Planner we collect anonymous usage analytics (which features are used, never your layouts or names), error reports and session replays (text inputs are masked) using PostHog. It is sent directly to PostHog (US cloud); content blockers may block it, which is fine. There are no accounts or personal profiles, and your browser's Do Not Track setting is respected.
Install & offline
Room Planner is a progressive web app: after your first visit it works with no connection, and you can install it so it opens in its own window like any other app.
- Chrome, Edge and other Chromium browsers (desktop and Android): clickInstall app in the planner, or use the install icon in the address bar or the browser menu.
- iPhone and iPad (Safari): tap Share, then Add to Home Screen, then Add.
- Offline: the planner, this help page and your floor plans all work without internet. Share links also open offline once the app has been visited.
- Updates: when a new version is ready, a notice at the bottom of the planner offers Reload. Your plans save automatically, so reloading is safe.
- Keeping your plans safe: the app asks your browser to protect its storage from automatic clean-up. Installed apps are also exempt from Safari's 7-day clean-up of sites you haven't visited. Plans still live only on this device, so export a backup now and then.
Keyboard shortcuts
| Shortcut | Action |
|---|---|
| Ctrl/⌘ + Z | Undo |
| Ctrl/⌘ + Shift + Z | Redo |
| Delete / Backspace | Delete the selected item |
| Escape | Deselect |
| Arrow keys | Move the selected item by 3 inches (0.25 ft) |
| Shift + Arrow keys | Move the selected item by 1 foot |
| R | Rotate the selected item by 90° |
| Shift + R | Rotate the selected item by 90° the other way |
| Tab | Move between furniture pieces (or door and window handles in Room Setup); focusing one selects it, so the keys above work without a mouse |