The canvas

The canvas is the whole drawing surface. Everything below happens on it: panning and zooming, selecting, moving, grouping, and switching pages.

Pan and zoom

Panning

Gesture Result
Two-finger scroll / mouse wheel Pans the canvas (vertical and horizontal)
Hold Space and drag Pans from anywhere, whatever is under the cursor
Middle-mouse drag Pans
Drag in the minimap Recentres the canvas on that point

While Space is held the cursor changes to the pan cursor. If you release Space while another window has focus, the app clears the modifier for you, so the next click selects rather than pans.

During a drag, resize, marquee or connector gesture, moving the pointer near the edge of the canvas auto-pans, so you can reach off-screen space without letting go.

Zooming

Gesture / key Result
⌘/Ctrl + wheel, or trackpad pinch Zooms around the pointer. A mouse-wheel notch is one ×1.22 step, eased over a fraction of a second rather than jumped — quick notches run together into one smooth zoom; a pinch or two-finger scroll is continuous
⌘/Ctrl + (or =) Zooms in one step (×1.25), around the viewport centre
⌘/Ctrl − Zooms out one step (÷1.25)
⌘/Ctrl 0 Back to 100%
Toolbar + / / percentage button The same three actions; the percentage button reads the current zoom and resets it to 100%

Zoom is clamped between 8% and 400%. When you reach either end, that button switches itself off — a control that cannot do anything is not offered.

Fit

The Fit diagram to window button frames every node and every routed connector with padding. It insets the frame for the floating chrome (inspector panel, pages bar), so objects at the edge of the drawing never land underneath a panel.

Fit is the one thing allowed past the 8% floor. On a very large drawing — a few hundred devices imported at once — the whole topology does not fit on screen at 8%, and Fit means "show me all of it", so it zooms out as far as it needs to and the percentage reads below 8. The button stays switched off down there: you can arrive below the floor by asking for the whole drawing, but you cannot walk below it a step at a time. + brings you straight back up.

Fit also runs automatically when you toggle isometric view or rotate it — the projected footprint changes shape, so the view is re-framed.

Selecting

Marquee rules:

Selecting one member of a group selects the whole group (unless you have entered it — see Groups).

Moving and resizing

Drag any selected object to move it. A drag only starts after about 3 px of pointer travel, so a slightly shaky click still counts as a click.

Resize handles appear on the corners when exactly one node is selected. Each corner moves its two edges; the opposite edges stay put. Minimum sizes are enforced (racks and zones have their own larger minimums). Racks resize in whole U steps; rack units keep the rail width and resize only vertically, in whole Us.

A resize sticks at the size of what is already on the page. Come within a few pixels of another shape's width or height and the drag takes that measurement exactly, with a marked span drawn over the shape you are resizing and over the one it matched — so "the same size as that one" is something you can see rather than something you squint at. The two dimensions are decided separately, so a shape can take its width from one neighbour and its height from another. Only comparable shapes are offered: device tiles match device tiles, zones match zones, and anything whose size the app manages for it (a rack, a rack unit, a title-block cell) is left out. Keep dragging and the size comes free again.

Hold Shift to keep the proportions. The shape then scales as one — useful when the tile is a photo or a logo and a stretched one would look wrong — and the dimension you have pulled furthest leads. Shift can go down or come up in the middle of a drag; the shape takes its shape back, or lets it go, without waiting for you to move the mouse. A size match still applies under Shift, so shift-dragging a tile onto a neighbour's width lands its height there too whenever the two were drawn in the same proportions.

Nudging

With nodes selected:

A nudged zone or rack carries what stands on it, exactly as dragging it does. A continuous run of nudges coalesces into a single undo step; a pause ends the run.

Snapping and smart guides

Groups

Action How
Group the selection ⌘/Ctrl G, or the Group button in the inspector
Ungroup ⇧⌘/Ctrl G, or the Ungroup button
Collapse / expand The Collapse / expand group button in the inspector

A group is an explicit membership, not a geometric container: members stay grouped wherever you move them. The frame drawn around a group is derived from the members' bounds, padded — it is not a shape you can select on its own.

A new group names itselfGroup 1, Group 2, … the lowest number not already in use on the page — so every group is findable in the Groups tab from the moment it exists. Extending a named group keeps its name; merging two differently-named groups starts over with a fresh auto name (the members no longer agree on one); ungrouping frees the name, number included.

Entering a group

To edit one member without ungrouping:

While inside, dragging a member moves only that member. Clicking a node outside the group, or grouping/ungrouping, leaves it.

A collapsed group draws as a single placeholder box. Click it to select or drag the whole group; double-click it to expand.

Naming groups, and the Groups tab

The inspector's Groups tab lists every group on the page, so a group can be picked from a list instead of hunted for on the canvas. Each card has a name field — type DMZ, Rack 12, whatever the group is — a member count, and the members' names. Clicking a card selects the whole group and brings it into view; while the Groups tab is open the inspector stays up even with nothing selected, so you can pick group after group. The name travels with the file (draw.io and Visio exports included), reaches collaborators live, and becomes the title of the group's collapsed placeholder. Clearing the field un-names the group; ungrouping forgets the name with the membership.

A named group also shows its name on the canvas: a small muted label just above the group frame's top-left corner, updating live as you type in the name field. Clicking that label selects the whole group, and dragging it moves the group — the same gesture the collapsed placeholder answers. The label is part of the editor's derived group frame, so like the frame it appears on the canvas only, not in exports.

Labels

Double-clicking a rack's title opens the rack builder. Double-clicking a connector waypoint deletes that waypoint.

Text style

The inspector's Text style row sets the label's weight and typeface. B, I and U compose — a caption can be bold and italic at once — and pressing a pressed button clears it. They work on devices, connectors and text blocks, and on a mixed selection they style everything selected in one step. The keyboard reaches all three as well — ⌘B, ⌘I and ⌘U (Ctrl on Windows and Linux) do exactly what the buttons do, including clearing a style that is already on.

The typeface drop-down offers seven faces, each row drawn in the face it sets, so the list shows you what you are choosing rather than describing it. Mono and Roboto Mono are the useful ones for network drawings — interface names, IP addresses and port numbers line up and are far easier to compare when every character is the same width.

Where a face comes from decides how far it travels, and the note under the drop-down tells you which kind you have just picked.

Sans, Mono, Serif and Comic are a request rather than a guarantee. Nothing is embedded, so each falls back to whatever the machine opening the drawing actually has. That matters most for Comic, which ships with Windows and macOS but is usually missing on Linux, where it falls back to a plain face.

Inter, Lato and Roboto Mono ship inside Drawbridge, and their letterforms are written into every SVG, PNG, PDF and HTML export. Those look the same on every machine that opens them, including machines that have never heard of the font. What they cannot do is reach another editor: a .drawio or .vsdx file records a font by name, with no way to carry the letterforms, so draw.io and Visio substitute something of their own — Helvetica for Inter and Lato, Courier New for Roboto Mono. Drawbridge remembers your real choice and restores it when you open the file again.

Changing the face also changes how wide the text is, so a caption may re-wrap onto another line.

Weight and typeface are saved using draw.io's own keys, so a drawing opened in draw.io carries its bold, italic and underline across intact.

Find and replace

Two separate tools, both working on the text already on the page.

Find⌘/Ctrl F opens a small box in the corner of the canvas. It matches, case-insensitively, against device labels, a zone's subnet, and connector labels (a connector hit is reported at the devices it runs between, because find centres the view on a node). The box shows how many matches there are; Enter / goes to the next, ⇧Enter / to the previous, and each hit is panned to and flashed. ⌘F again reselects what you typed, Escape closes the box and gives the canvas back the keyboard. The browser's own find never opens over the app.

Find looks at the page you are on. To search another page, switch to it and search again.

Replace — the Replace button in the toolbar opens Find and replace in labels, for the renames that are tedious one at a time (ge-0/0/1xe-0/0/1 across forty ports):

Control What it does
Find / Replace fields The text to look for and what to put in its place
Regex Treat the query as a regular expression; $1 in the replacement is a capture back-reference
Selection / Whole page Whether to touch only what you have selected, or every label on the page
The count How many occurrences match right now — it updates as you type, and reads "No matches" when none
Replace all Applies them, as one undo step

It covers device labels, connector labels and the port labels at a connector's two ends. Unlike find, replace is case-sensitive in both modes. Without Regex the query is literal — a $, a . or a ( means itself. With Regex, a pattern that will not compile is reported quietly in the dialog instead of doing anything.

Pages

The page tab strip sits along the bottom of the canvas.

Action How
Switch page Click the tab
Rename Double-click the tab, type, then Enter (or click away). Escape cancels
Add The + button at the end of the strip
Reorder Drag a tab left or right; a marker shows where it will land
Delete The × on the tab (only shown when more than one page exists)

Deleting a page that holds content asks for confirmation first.

Pages whose payload is a compressed .drawio blob open read-only: their tabs are disabled and the content is preserved verbatim when you save.

In a collaboration session, tabs show coloured dots for the people working on that page, and a tab pulses when someone is active on a page you are not viewing.

Minimap

The Toggle overview minimap button shows a small navigator in the corner of the canvas. It renders the whole diagram — real tiles and shape icons, connectors in their actual colours, zones as dashed frames — with a rectangle marking the region you are currently looking at.

The View menu

The eye in the toolbar, beside the ★ Quick shapes star, is a short list of switches for what the drawing shows. Everything starts on.

Two things are worth knowing:

This is yours, not the document's: it is remembered in this browser, it is never saved into the file, and a collaborator sharing the page sees their own view. If you want to hide something for everybody, that is what Layers below are for. Show everything at the bottom of the menu puts it all back, and while anything is off the eye is struck through so you can tell at a glance.

Isometric view

The Toggle isometric view button flips the editor between the flat top-down view and a 2:1 dimetric projection. Device tiles are extruded into chassis boxes, racks stand up as cabinets, and zones and connectors land on a ground plane. Cables lie on that ground plane and meet each device where the chassis meets the floor — at its footprint — so a box standing between a cable and the camera hides it, exactly as a real cabinet would; a cable to rack-mounted hardware climbs the cabinet face to the unit it plugs into.

Editing keeps working in isometric: selection rings, resize handles, marquee hit-testing and drags are all measured on the drawn geometry (the cabinet elevation, the extruded tile), not the flat footprint.

The object list

≡ menu → Objects puts everything in the document on one page: every shape, grouped by page, with its icon, what type it is, what it connects to, and which layer it is on. It is the fastest way to answer "what is actually in this file" and "what touches the core switch", neither of which the canvas answers well once a diagram is bigger than a screen.

Editing a cable is not done here — that is the inspector's Connections tab, which works beside the drawing. This is the inventory; that is the workbench.

Layers

The Layers button in the toolbar opens a short list — one row per layer, the topmost layer first, the way the drawing is stacked.

The list lives in the toolbar rather than the inspector so it stays reachable when nothing is selected. It stays open while you click on the canvas, so you can select a shape and press Move here without reopening it each time; Escape, the toolbar button, or a click anywhere else in the app closes it.

Once a page has layers, the inspector shows a Layer row for whatever is selected — the name of the layer it is on, or "Mixed layers" for a selection that spans several. Click the row to open the Layers list, where Move here moves the selection. Connectors have no layer of their own: a cable follows its endpoints.

Search boxes

Every search box in the app works the same way, wherever you meet it — the palette, the icon library, the object list, the manual, the cable schedule, the rack builder, the Quick shapes list, the device and typeface pickers, and the find box.

The find box (Ctrl/Cmd+F) and the Find and replace dialog are the two exceptions to that last point. Both have the ✕, but in those two Escape means "close this", because the box is the search: there would be nothing left behind after clearing it.

Escape

Escape cancels one thing at a time, in this order:

  1. The open inline label editor.
  2. The armed placement (a shape picked from the palette, waiting to be dropped).
  3. Connector mode, if no cable is mid-draw.
  4. The gesture in progress — drag, resize, waypoint move, marquee or aggregate-ring drag — rolling it back.
  5. Otherwise, the selection.

Escape during a cable drag cancels that cable and leaves connector mode armed, so a misplaced drop does not also disarm the tool.

When the cursor is in a search box with text in it, Escape belongs to that box first — see Search boxes above.

Adding shapes