Master the editor
Every tool, shortcut and feature. Open the editor and try each step as you read.
Getting started
Anchorsmith opens on an anonymous scratchpad, with no account needed. Draw on the central canvas; your work lives inside an artboard that defines the exported bounds. The tool rail runs down the left, and the panels on the right hold the Inspector (fill, stroke, and appearance), Layers, Artboards, and Constraints.
Everything autosaves to the scratchpad as you work. Sign in when you want to save documents to the cloud or export without the free-tier watermark. Press ? at any time for the live keyboard-shortcuts dialog.
Tools
Pick a tool from the rail or press its shortcut key. Twelve tools cover drawing, editing, and measuring.


Selection
VSelect, move, and scale whole shapes, text, images, and dimensions.
- Click a shape to select it; drag its body to move it.
- Drag one of the eight bounding-box handles (corners + edge midpoints) to scale.
- Shift-click to add or remove a shape from a multi-selection.
- Hold Shift while scaling to keep the aspect ratio. Images lock aspect on corner handles automatically.
- Drag on empty canvas for a marquee; it selects shapes and images fully enclosed by the rectangle.
- Delete or Backspace removes the selection; Escape clears it.
- Right-click for cut / copy / paste / duplicate / delete, group / ungroup, arrange (front, forward, backward, back), and reverse path direction.
- Scaling a strict circle or arc non-uniformly prompts to convert it to an editable path first.
Direct Selection
AEdit a path's individual anchors, control handles, and segments.
- Click an anchor or handle to select it, then drag; the point snaps directly under the cursor.
- Drag a segment to bend it: a straight line becomes a curve, an existing curve moves its nearest handle.
- Double-click a segment to insert a new anchor there.
- Shift- or Ctrl-click to add nodes to the selection; drag empty canvas for a node marquee.
- Alt-drag a handle to break its symmetry (asymmetric).
- With an anchor selected, press M / A / C / S to set its handle type: Mirrored, Asymmetric, Corner, or Single.
- Arrow keys nudge selected nodes by 1 unit (10 with Shift); Delete removes nodes; Escape cancels a drag.
Selecting multiple nodes
- Click a node to select just it.
- Ctrl+click (Cmd+click on Mac) toggles individual nodes: click each node to add it to the selection, and Ctrl/Cmd+click a selected node to remove it. No drag or pre-selection needed.
- Shift+click extends the selection along the path by node type (corner, smooth/mirrored, asymmetric, single-handle), keyed off the type of your first-selected node. Shift+click an adjacent node to select the run of consecutive same-type nodes continuing in that direction (until the type changes or the path ends); shift+click a farther node to select the same-type nodes in the span between your current node and the one you click. Shift+clicking a node on a different path just toggles it, like Ctrl+click.
- Dragging any selected node moves all selected nodes together, as do the arrow keys (nudge) and Delete.
- You can also marquee-drag on empty canvas to box-select nodes (hold Shift or Ctrl to add to the selection).
Pen
PDraw paths one anchor at a time.
- Click to place a corner point; click-drag to place a smooth Bézier point (mirrored handles).
- Hold Alt while dragging to make the handle asymmetric instead of mirrored.
- Click the start point to close the path; press Enter to finish it open.
- Backspace removes the last point; Escape cancels the whole in-progress path.
- While dragging a handle, M / A / S / C set the point's handle type.
Rectangle
RDrag to draw a rectangle.
- Hold Shift to constrain to a square.
- Corners snap to the grid when snapping is on; Escape cancels the drag.
Ellipse
EDrag to draw an ellipse.
- Hold Shift to constrain to a true parametric circle (a strict curve; see “Strict vs free curves”).
- Snaps to the grid when snapping is on; Escape cancels.
Line
LDrag to draw a straight line.
- Hold Shift to snap the angle to 45° increments.
- Lines default to a stroke with no fill; Escape cancels.
Polygon
GDrag from the centre outward to draw a polygon or star.
- Options bar: sides (3 to 24), a Star toggle, and, in star mode, an inner-radius percentage.
- Hold Shift to snap the angle to 45° increments.
Text
TAdd and edit point text.
- Click empty canvas to add text and start typing; click existing text to edit it.
- Enter commits, Escape cancels; empty text is discarded.
Eyedropper
ICopy a shape's appearance into the current draw style.
- Click a shape to pick its fill and stroke (enabled state, color, and stroke width) into the draw style used for new shapes.
Measure
MRead distances and angles without changing the artwork.
- Click two points to see the distance plus DX, DY, and angle in the document unit.
- Hover a segment to read its length; Escape resets the measurement.
Dimension
UPlace CAD dimension annotations; the type is inferred from what you pick.
- Click a circle for a radius; a line then empty space for a length; a line then a second line for an angle; two points for a fixed distance.
- Dimensions are non-exporting annotations. Right-click or Escape cancels a placement.
Constraints
KAdd geometric constraints to selected points or line segments.
- With geometry selected, press a key: C coincident, H horizontal, V vertical, P parallel, O perpendicular, D fixed-distance, E equal-length, A angle, L collinear.
- The solver applies the constraint across the whole sketch, or rejects a selection that can't form it or would over-constrain the sketch.
Strict (parametric) vs free curves
Some contours are strict: stored as exact parametric geometry (a circle's centre and radius, or an arc's centre, radius, and angles) instead of editable Bézier anchors. Only circles and arcs can be strict; everything else, including a non-circular ellipse, is a free editable path. The anchors you see on a strict curve are a derived cache; the parameters are the source of truth, so the geometry stays mathematically exact.
Creating them
- Hold Shift with the Ellipse tool (E) to draw a true parametric circle.
- Tracing an image recognises near-perfect circles and emits them as strict circles.
Working with a strict curve
- Its handles render greyed to show they're locked. You can still move it, scale it uniformly, and flip it, all of which keep it strict.
- You can't drag its anchors or handles, or scale it non-uniformly: that would deform the exact geometry, so instead you're prompted to convert it to a path first.
- A strict circle or arc shows a radius / diameter readout, and the Dimension tool (U) can add a radius dimension that drives the radius directly: edit the value and the circle resizes.
Converting
Right-click a contour with the Direct Selection tool (A):
- Convert to Path turns a strict curve into freely-editable anchors, and you trade parametric exactness for full node editing.
- Convert to Circle / Convert to Arc re-fits a free contour that is actually a circle or arc back to exact parametric geometry.
Keyboard shortcuts
Tool keys are listed with each tool above. On macOS, use ⌘ where Ctrl is shown. Press ? in the editor for the always-current list.
Edit
View & help
Color, fills & strokes
The color picker
Every color swatch (fill, stroke, gradient stops, text, and guides) opens the same picker. Set color with the saturation/value square and the hue bar, or type it as Hex, RGB, CMYK, or an Alpha percentage. A New-vs-Current pair shows your change against the color you started with. The dialog is draggable by its title bar and stays within the window.

The eyedropper
The pipette in the picker is always available and adapts to your browser:
- Chrome / Edge: picks a color from anywhere on screen, including other apps (native EyeDropper).
- Firefox / Safari:picks a color from your own canvas, with no permission needed. While it's armed the cursor becomes a crosshair; click the canvas to sample, or press Escape to cancel.
- Pick from another app: on Firefox / Safari a second button uses screen sharing to grab a single frame you can click to sample a color from any other window.

Gradients
Switch a fill or stroke between Solid, Linear, and Radial. Click the gradient bar to add a stop, drag stops to reposition them, and edit each stop's color and offset (a gradient always keeps at least two stops). Linear gradients expose an angle; radial gradients a radius.
Gradient groups
Group several shapes (select them and press Ctrl+G), then give the group a shared fill: one linear or radial gradient that spans the whole group's bounds, so the members read as a single continuous fill instead of each shape carrying its own gradient. With a member selected, use the Inspector's Shared group fill type control to choose Solid, Linear, or Radial. On export, every member references the one gradient. A per-shape gradient fills each shape on its own; a shared group fill keeps the whole group aligned to a single gradient.

Stroke join, cap & miter
The Inspector's stroke controls set the line Join (miter, round, bevel) and Cap (butt, round, square); changing them also updates the default for new shapes. The miter limit appears only for miter joins (currently applied to the selected shape).
Constraints & dimensions
Select points or line segments and add a geometric constraint with the Constraints tool (K) or its right-click menu. Nine kinds are available: coincident, horizontal, vertical, parallel, perpendicular, fixed-distance, equal-length, angle, and collinear. Which are offered depends on the selection: two or more points allow coincident and distance constraints; two or more lines allow parallel, perpendicular, equal-length, angle, and collinear.
The solver applies the constraint to the whole sketch and only commits if it can be satisfied, rejecting a selection that can't form the constraint or one that would over-constrain the sketch. The Constraints panel lists the constraints touching your selection; dimensions (angle, distance) get an editable value and an Adjust option that chooses which geometry the solver is allowed to move. Strict circles and arcs also carry a radius / diameter dimension that drives their size; see Strict vs free curves.

Driving dimensions
A dimension isn't just a label; it drives the geometry. Place one with the Dimension tool (U) and its type is inferred from what you pick: a line's length, a point-to-point distance, an angle between two lines, a circle's radius, or a perpendicular distance. Edit its value in the Constraints panel and the sketch solves to the new value, resizing the geometry. That is the parametric CAD workflow: set exact numbers, get exact drawings.
- The Adjust picker chooses what the solver moves to satisfy the value: Move far end, Move both, or Move whole shape.
- Chain horizontal and vertical constraints across several points to keep a run of anchors aligned.
- Values read in the document unit, and you can type another inline: enter 25mm while the document is in centimetres and it converts.

Importing artwork
SVG → editable paths
Drop an SVG onto the canvas (or import it from the toolbar) and it becomes editable native paths, not a flat image, scaled to fit and centred in the active artboard, with gradients and fill-rule preserved. Paths, rectangles, circles, ellipses, lines, polylines, polygons, nested groups, and linear/radial gradients are supported; unsupported paint servers (filters, masks) flatten to a solid color.

Raster images
Other image files (PNG, JPEG, WebP) are embedded as picture elements, scaled to fit and centred. They stay export-safe because the pixels are embedded rather than linked.
Trace an image to vector
Select a placed image and open the trace control to convert it to vector paths. Choose a mask mode: Auto (polarity-aware, the default), Ink (bright, opaque marks), or Color (flood-fill from points you click); and a style: Fill (filled regions), Centerline (single-stroke skeleton), or Brush (variable-width strokes). Adjust smoothness to trade detail for fewer anchors. Toggle Preview to see the result as animated marching ants, recomputed on a downscaled image so it stays responsive, before committing.


Workflows
A few end-to-end paths through the tools above.
1 · Trace an image to vector
- Drag a raster image onto the canvas (or import it), then select it with the Selection tool (V).
- In the Image section of the side panel, choose a trace Mode (start with Auto) and a Style (Fill, Centerline, or Brush).
- Toggle Preview to see the live marching-ants result, and adjust Smooth until it looks right.
- Click Trace to Vector, and the image is replaced by an editable vector shape, selected for you.

2 · Draw, constrain, and dimension
- Draw two lines with the Line tool (L).
- Switch to Selection (V) and select both lines.
- With the Constraints tool (K), press a key to add a relation, e.g. P for parallel or O for perpendicular.
- With the Dimension tool (U), click a line then empty space to place a driving length; edit its value to resize.

3 · Pick a color with the eyedropper
- Select a shape and open its Fill or Stroke swatch to bring up the color picker.
- Click the pipette. On Chrome/Edge, click anywhere on screen; on Firefox/Safari the cursor becomes a crosshair, so click your canvas to sample.
- On Firefox/Safari, use “Pick from another app” to sample from a shared screen frame instead.

4 · Drag-import an SVG
- Drag an .svg file from your desktop onto the canvas.
- It imports as editable native paths, scaled to fit and centred, with gradients and fill-rule preserved.
- Switch to Direct Selection (A) to edit its anchors, or recolor it from the Inspector.

Layers & artboards
Layers
The Layers panel is a tree of layers, groups, and elements. Toggle visibility and lock, rename in place (double-click), reorder, search by name, and delete (a document always keeps at least one layer). Each row carries a thumbnail so you can find artwork fast.
Artboards
Add, duplicate, rename, and delete artboards; each defines an export region. New artboards are placed beside the active one, and export resolves bounds from the active (or a chosen) artboard.
Exporting
Export the active artboard as SVG, PNG, or PDF. SVG is the source of truth: standards-valid, with the web fonts you used embedded so it renders in-brand anywhere. PNG rasterises that SVG at 1×, 2×, or 4×; PDF is true vector, page-sized to the artboard in points.
History & saving
Undo and redo cover the last 256 steps (Ctrl+Z / Ctrl+Shift+Z); a continuous gesture such as a drag folds into a single step. Signed-in documents also support manual checkpoints: save a restore point, and restoring it keeps your current progress as an undo step, so it's never destructive.
Automating with an AI agent
The editor exposes a programmatic action API so an AI agent can build and edit documents directly. You call executeAgentAction with a document, a commit wrapper, and a command; you observe the document with getAgentDocumentSnapshot and the other perception helpers. All geometry is in Y-up document space.
executeAgentAction({
doc, commit,
command: { kind: "createRect", id: "box", x: 100, y: 100, width: 200, height: 120 },
});
executeAgentAction({
doc, commit,
command: {
kind: "setFill",
ids: ["box"],
fill: { enabled: true, color: { r: 240, g: 80, b: 60, a: 1 }, paint: { kind: "solid" } },
},
});const snap = getAgentDocumentSnapshot(doc);
// snap.summary.shapeIds -> ["box", ...]
// snap.svg -> rendered SVG string
// snap.json -> full serialized documentThe full machine-readable spec (every command, its parameters, the perception API, and the coordinate contract) is served as plain text for an agent to fetch and parse: