Skip to the content.

Diagrammer — User Manual

The Diagrammer is a Visio-/drawio-style canvas for drawing diagrams: drag shapes from a palette, connect them with routed lines, label them with rich text, and arrange, group, and combine them. This manual covers everything you do with the mouse and keyboard. Developers integrating the diagram control should read the API guide instead.


1. The workspace

┌──────────────────────────────────────────────────────────────┐
│  🏠 Diagrammer     <status text>                               │  ← header
├──────────────────────────────────────────────────────────────┤
│ Align ▸ | Distribute ▸ | Group ▸ | Combine ▸                  │  ← command toolbars
├──────────┬──────────────────────────────────────┬────────────┤
│  Shapes  │                                        │  Format    │
│  ▢ ▽ ○   │            (drawing canvas)            │  Shape     │
│  ◇ ⬡ ♥   │                                        │  ▸ Fill    │
│   …      │                                        │  ▸ Stroke  │
│  [Save]  │                                        │  ▸ Caps    │
│  [Load]  │                                        │            │
└──────────┴──────────────────────────────────────┴────────────┘

2. Adding shapes

Drag a tile from the Shapes palette onto the canvas. The new shape appears where you drop it and is selected, ready to move or label. The library has 35 kinds — rectangles, ellipses, squircles, arrows, diamonds, hearts, flowchart symbols, and more.


3. Selecting

To… Do this
Select one shape Click it.
Add / remove one shape Ctrl-click it (toggles).
Select a range Click one shape, then Shift-click another — everything between them is selected.
Select many at once Drag a rectangle on empty canvas (marquee). Everything inside is selected.
Select a connector Click the line. Connectors have their own selection — Ctrl/Shift-click work the same way.
Clear selection Click empty canvas.

4. Moving shapes

Click and drag a shape to move it. Drag a group to move all its members together. Connectors attached to a moving shape re-route automatically.

Nudge with the arrow keys when something is selected:

If alignment guides are on, dashed lines appear as you drag and the shape snaps when its edges or centre line up with a neighbour.


5. Resizing

When resize is enabled, selecting a shape (or several) shows handles around the selection bounds. Drag a handle to scale. A shape’s text label can be set to grow or shrink with the box — see §10.


6. Aligning and distributing

Select two or more shapes, then use the Align toolbar:

Select three or more shapes for the Distribute toolbar:

Buttons stay disabled until enough shapes are selected.


7. Grouping

Combine shapes into a single movable unit.

Action Gesture
Group (needs ≥2 selected) Ctrl+G, or the Group toolbar button.
Ungroup (needs a group selected) Ctrl+Shift+G, or the Ungroup button.

A new group renders behind its members and moves as one. Ungrouping releases the members back to the canvas (or to the parent group, if it was nested). On Windows the ⊞ Windows key works in place of Ctrl for these.


8. Combining shapes (boolean)

Select two or more shapes and use the Combine toolbar to merge their outlines into one new shape:

Tool Result
Union Everything covered by either shape.
Intersect Only the overlap.
Subtract The first shape minus the overlap.
Exclude Both shapes minus the overlap.

The originals are replaced by the single combined shape, which is then selected.


9. Connectors

Connectors are the lines that link shapes. They need connector interactions to be enabled (they are, in the demo).

Drawing a connector

  1. Hover a shape — its connection ports light up.
  2. Press on the shape body or a port and drag — a line follows your cursor.
  3. Release over another shape (or one of its ports) — the connector is created between the two.

Releasing over empty canvas cancels the draw.

Editing a connector

Routing and caps

A connector can route as a straight, orthogonal (right-angle), or bezier (curved) line. Its ends can carry caps — arrowheads, circles, or diamonds — chosen in the Format Shape pane when a connector is selected.


10. Text and labels

Every shape and connector can carry a text label.

Editing text

Placing and rotating a label

A label doesn’t have to sit dead-centre. When the text adorner is on, select a shape to get move and rotate grips on the label — drag them to reposition or spin the caption. A label can be anchored to any of 13 spots (centre, the four sides, the corners) or placed outside the shape (above, below, left of, right of).

Live fields

Labels can contain fields — tokens that show live values and update automatically. For example a label of {Width}×{Height} shows the shape’s current size and changes as you resize it; a connector label with {Length} shows its route length. Available fields include a shape’s width, height, position, kind, and id, and a connector’s length and endpoint ids.

Auto-fit

A label can be set to shrink to stay inside its shape, or a shape can be set to grow to contain its label.

Text shapes and callouts

Two shapes exist purely for annotation:


11. Formatting (Format Shape pane)

Select one or more shapes (or a connector) and use the Format Shape pane on the right to change:

Edits apply to every shape in the selection at once, including shapes nested inside selected groups.


12. Deleting

Select any shapes and/or connectors and press Delete or Backspace. Deleting a shape also removes any connectors that were attached only to it.


13. Saving and loading

Persistence uses whatever storage the app provides (typically the browser’s local storage), so your diagram survives a reload.


14. Keyboard & mouse reference

Input Action
Click shape Select it
Ctrl-click Toggle a shape in/out of the selection
Shift-click Range-select from the last click to this one
Drag on empty canvas Marquee-select
Click empty canvas Clear the selection
Drag shape Move it (snaps to guides if enabled)
Arrow key Nudge selection 1 px
Shift + Arrow Nudge selection 10 px
Delete / Backspace Delete selected shapes and connectors
Ctrl+G (⊞+G) Group ≥2 selected shapes
Ctrl+Shift+G (⊞+Shift+G) Ungroup selected group
Double-click shape / connector Edit its label
F2 Edit the selected shape’s label
Ctrl+B / Ctrl+I / Ctrl+U Bold / italic / underline (while editing text)
Enter (editing) New paragraph
Esc (editing) / click away Commit the edit
Drag from a port Draw a connector

See also: the API guide for developers, and the live diagram demo this manual describes.