Wireframe Tool
Free online wireframe tool: drag and drop 27 UI components to sketch web and app layouts, export PNG or JSON, or share a link. No sign-up, no uploads.
- 27 UI components
- Share by link
- PNG & JSON export
- Auto-saved drafts
Click a component to insert it in the middle of the view, or drag it onto the canvas. Double-click text to edit it; for text inside components use the Text field in Properties.
Hold Space or the middle mouse button and drag to pan, Ctrl + wheel to zoom; in full screen the wheel pans too. On a phone, use Pan view in the ⋯ More menu.
Your draft is auto-saved only in this browser (localStorage) and never uploaded. Export JSON before switching devices or clearing browsing data.
🔒 Everything is calculated in your browser. No data is sent to any server.
When to use it
- Website and app proposals: Sketch the page layout before development and confirm requirements with clients or managers.
- Classes and assignments: Quickly sketch interfaces for a UI/UX course without installing any software.
- Communicating requirements: A PM sketches the screen and sends it with “Copy share link”; developers and designers just open it.
- Personal projects: Plan the layout of your blog or portfolio site before writing any code.
How to use
- Pick a desktop, laptop, tablet or phone size under Canvas settings on the right, then click a component in the library to drop it in the middle of the view, or drag it onto the canvas.
- Select an object to change its fill, border, text, font size, position and size in the Properties panel. Select several to line them up with Align or Group in the ⋯ More menu, and press Ctrl+Z to undo.
- When you are done, click Export PNG for an image (1× to 3× resolution) or Export JSON to keep an editable file you can load later with Import JSON.
Worked example
Opening a 1440×900 desktop canvas in an 800×600 editing area, Fit sets the zoom to min((800 − 80) ÷ 1440, (600 − 80) ÷ 900) = min(0.5, 0.58) = 50% and centers the board with 40px left and right and 75px above and below. A 375×812 phone canvas fits at (600 − 80) ÷ 812 ≈ 64%.
Select object A (X 100, Y 50, 200 wide, 40 high) and B (X 400, Y 120, 100 × 100) together and choose Left: B moves 300px left to X 100. Choose Bottom instead and both bottom edges line up at 220, moving A down 130. With only A selected, Right aligns it to the canvas edge, moving it 1140px to X 1240.
With Snap to grid on, dragging an object to X 14 snaps it to 10 and to X 15 snaps it to 20. An image exported on 14 October 2026 at 15:30 is named wireframe-20261014-1530.png, and a JSON exported in the same minute is wireframe-20261014-1530.json.
Reading the results
- The zoom percentage only changes what you see, not object sizes or the export. X, Y, width and height in the Properties panel are always pixels at 100%, with X and Y measured from the top-left corner of the canvas board.
- Components such as buttons, cards and tables are groups of shapes: fill and border change the main shape (for example the button background) and the text field changes the main label. To edit an individual part, click Ungroup first.
- When the status line says the draft was saved in this browser, it is stored. If a red message says it cannot be saved (private window or storage full), export a JSON backup right away.
How it works
- The canvas is drawn with the open-source Fabric.js 6 library on an HTML canvas. Each component is a set of vector shapes (rectangles, circles, lines, text), so zooming never blurs it.
- Align uses the canvas board as the reference when one object is selected and the union of all bounding boxes when several are, then shifts each object's bounding box (including rotation) horizontally or vertically.
- Undo and redo store a JSON snapshot of the whole canvas after each change, keeping up to 100. Identical states are skipped, and making a new change after undoing discards the redo entries.
- Drafts and exports use the same JSON format {app, version, canvas}. Imports are checked for format version and object types; only the shapes and text this tool creates are accepted, and images, patterns or anything that loads external resources is rejected.
- Export PNG temporarily resets the view to 100%, crops to the canvas board, renders it at the chosen scale and creates the PNG with the browser's canvas.toBlob, without any server.
Limitations
- It is meant for layout and information architecture, not clickable prototypes, multi-page flows, shared components or real-time collaboration.
- You cannot insert real images or icons, and there is no SVG or PDF export; choose PNG 3× when you need a sharper image.
- Drafts live in one browser's localStorage (usually about 5 MB) and very large boards may not fit. Imports are limited to 10 MB, boards to 5000 px per side, and exporting a huge board at 3× may exceed the browser's canvas size limit.
- Text uses the device's system fonts, so the same JSON can show slightly different text widths and line breaks on another computer or language setting.
FAQ
Will I lose my work if I close the page?
No. Every change is auto-saved as a draft in this browser and reloaded next time. The draft only lives in this browser on this device, so it is gone if you clear browsing data, use a private window or switch computers. Use Export JSON to back up anything important.
What does the PNG include, and why is there no grid?
Only what is inside the canvas board; anything outside it is cropped. The grid and selection handles are editing aids and never appear in the image. At 2×, a 1440×900 canvas becomes a 2880×1800 pixel image.
Does it work on a phone?
Yes for viewing and basic edits: tap a library item to insert it, drag objects to move them and edit text in the Properties panel. Dragging components onto the canvas and pinch-to-zoom are not supported on touch screens, so use the + / − buttons, Pan view in the ⋯ More menu, or Full screen for more room.
Can I import files from Figma or other tools?
No. Only JSON files exported by this tool can be imported. For safety and offline use, files containing images or external resources are rejected; use the Image placeholder component to mark where a picture goes.
How do I share a wireframe with my team?
Press “Copy share link”. The whole canvas is compressed into the part of the URL after #, so others see the same mockup and can edit it in their own browser. That part is never sent to the server. The link is a snapshot, so later edits don’t sync. If there are so many components that the link gets too long, you’ll be asked to export JSON instead.
What’s the difference between a wireframe and a mockup?
A wireframe uses gray boxes to show layout and where features go, to agree on structure; a mockup adds colors, fonts and images to show the final look. Starting with a wireframe keeps you from getting stuck on visual details too early.
Is there a free Figma alternative that needs no install?
This tool is great for quick low-fidelity wireframes, with no sign-up and nothing to install. For real-time team collaboration, component systems or high-fidelity design, professional tools like Figma or Penpot are a better fit.
Can I design mobile app screens?
Yes. Choose “Phone” under “Canvas settings” to work at a phone screen size; buttons, text fields, nav bars and the other components all work there.
💬 Can't find an answer? Report a problem with this tool or send a suggestion