Skip to content

Freehand whiteboard

The Freehand type is a free whiteboard for thinking without syntax: draw shapes, arrows, text and strokes with a hand-drawn look. When the idea is ready, turn it into a Mermaid diagram with one click.

To create one, choose Freehand as the Diagram type when creating a diagram. The whiteboard autosaves like any other diagram.

Tools

Tool Shortcut Use
Select V Select, move, resize and rotate elements
Hand H Pan the canvas
Rectangle R Box
Diamond D Decision
Ellipse O Circle or oval
Arrow A Arrow; drop it on a shape and it stays connected to it
Line L Line without arrowheads
Text T Free text
Freehand P Free stroke, pen-pressure aware
Eraser E Erase elements

Quick text

Double-click a shape to type inside it, or double-click empty space (with Select) to create a text element. Enter confirms and Esc cancels; Shift+Enter adds a line break.

Connected arrows follow their shapes when you move or rotate them.

Element style

With one or more elements selected, the Element style panel lets you set:

Option Values
Stroke and Fill Border and interior color (or No fill)
Width Stroke width
Stroke style Clean, Architect, Artist, Cartoonist
Fill style Solid, Hachure, Cross-hatch
Font Handwritten, Regular, Code; plus Font size
Lines and arrows Dashed line, Start arrowhead, End arrowhead
Shapes Rounded corners

The hand-drawn look is rendered with Rough.js and is stable: an element doesn't change shape every time it is redrawn.

Arranging elements

  • Duplicate, Group / Ungroup.
  • Order: Bring to front, Bring forward, Send backward, Send to back.
  • Alignment (left, center, right, top, middle, bottom) and Distribute horizontally / vertically.
  • Alignment guides while moving elements.
  • Context menu on right-click.
  • Clear all empties the whiteboard (it can be undone).

Locking elements

Lock pins the selected elements so you don't move them by accident (also with Ctrl+Shift+L / Cmd+Shift+L or from the context menu). A locked element cannot be dragged, resized, rotated, nudged with the arrow keys, aligned, restyled, cut or deleted until you click Unlock.

Moving around the canvas

Action How
Pan Mouse wheel, the Hand tool, hold Space and drag, or middle-click
Zoom Ctrl / Cmd + wheel (anchored at the cursor) or the zoom buttons
Fit to content F

The whiteboard's position and zoom are saved with the diagram.

Keyboard shortcuts

Shortcut Action
Ctrl+Z / Cmd+Z Undo
Ctrl+Shift+Z or Ctrl+Y Redo
Ctrl+A Select all
Ctrl+C / Ctrl+X / Ctrl+V Copy / cut / paste (pastes at the cursor position)
Ctrl+D Duplicate
Ctrl+G / Ctrl+Shift+G Group / ungroup
Ctrl+Shift+L Lock / unlock
Del or Backspace Delete the selection
Arrow keys (Shift = 10 px) Nudge the selection
Esc Clear the selection and go back to Select
F Fit to content

On macOS use Cmd instead of Ctrl.

Exporting the whiteboard

From Export Diagram, whiteboards export as PNG at Screen (1x), Standard (2x) or High (3x) resolution, with a Transparent background option. The image covers everything drawn (rotated elements included); on very large canvases the scale is reduced automatically to stay within browser limits, without cropping anything.

You can also Download source code as a .freehand.json file, which can be imported again. Excalidraw files (.excalidraw) are imported as whiteboards. See Export and import.

Sketch → Mermaid

On a whiteboard, the Convert diagram type menu offers Sketch → Mermaid, which creates a new Mermaid diagram (the whiteboard is left untouched). The conversion is deterministic and uses no AI:

flowchart LR
    R[Rectangle with text] --> N1["Node [ ]"]
    D[Diamond with text] --> N2["Node { }"]
    E[Ellipse with text] --> N3["Node ( )"]
    F[Arrow connected to two shapes] --> L[Link]
On the whiteboard In Mermaid
Rectangle / diamond / ellipse with text Node [ ] / { } / ( )
Arrow connected to two shapes Link --> (the arrow's text becomes the label)
Dashed arrow -.->
Double-headed arrow <-->
Line without arrowheads ---
Arrow leaving and entering the same shape Self-loop

What is left out

Freehand strokes, loose text, unconnected arrows and shapes without text have no structural equivalent: they are skipped, and DiagramaHub tells you how many of each were left out.