Skip to content Skip to a section

Studio

Choose an iconBrowse /icons library
A B Studio
Nothing selected 0 shapes 1280 × 720 Everything runs in your browser. No account, no upload.
Keyboard shortcuts
VSelect tool
RRectangle
CEllipse
LLine
AArrow
TText
DelDelete selection
Ctrl+DDuplicate
Ctrl+ZUndo
Ctrl+Shift+ZRedo
Ctrl+SSave
Ctrl+CCopy SVG
Ctrl+ASelect all
Ctrl+GGroup / ungroup
↑↓←→Nudge 1px
Shift+↑↓←→Nudge 10px
Ctrl+wheelZoom
Space+dragPan the canvas
EnterEdit text
Alt+dragDuplicate while dragging
Shift+dragKeep proportions / add to selection
EscDeselect or close
?This help
ZToggle Zen mode
\\Collapse side panels

January · February · March · April · May · June · July · August · September · October · November · December

Open viz studio

Visualization FAQ

Is the studio a full design suite replacement?
No. It is a focused viz craft workspace with honest chart/diagram defaults.
Do scores crown the “best” chart?
No. They are editorial browsing meters for craft dimensions.
Does studio guarantee WCAG pass?
No. Defaults help; final contrast and semantics still need review.
Pie charts always bad?
Often misused for many categories; small part-to-whole sets can still work with care.

Studio path

Which visual?StudioMake a visual from a file

Privacy & sanitize

Does studio upload my CSV or diagram?

No. Work stays on-device. Labels, shapes and chart payloads pass sanitizeLabel / sanitizeShape / sanitizeChart before render, load, undo and redo.

Studio FAQ — on-device, no upload, sanitize

Does the studio upload my board, CSV, or pasted JSON?
No. Work stays on this device. Nothing is posted to a server. Every load, paste, restore, undo and redo runs sanitizeDoc, then guardShape, guardChart and plainText.
What does sanitize do to JSON I paste or restore?
sanitizeDoc keeps a bounded name, shape list and chart. Unknown fields are dropped. Each shape passes guardShape; charts pass guardChart; labels pass plainText. Invalid docs are rejected, not rendered raw.
If I compare or load a recent board, does it leave this browser?
No. Recent boards are local. Compare and load still run sanitizeDoc first. guardShape, guardChart and plainText are not skipped on restore.
Can I open a coworker’s export without sending it off-device?
The file never uploads. sanitizeDoc and the guards run before render. That is not a virus scanner — only open files you trust. Studio stays sanitize-safe; the guards are not optional.

Paste or restore a coworker board safely once

A numbered pass on the studio: every paste and restore stays on-device through sanitizeDoc, guardShape, guardChart and plainText.

  1. Paste stays on this device — JSON you paste or restore never uploads. The studio keeps work in browser memory and local storage only.
  2. sanitizeDoc and guards before render — sanitizeDoc bounds the doc, then guardShape, guardChart and plainText run on every load path. Unknown fields drop; bad docs reject instead of drawing raw.
  3. Recent boards are local — The recent list is saved on this browser. Opening or comparing a snapshot still runs sanitizeDoc first; guards are not skipped on restore.
  4. Coworker export never POSTs — A file or string from a teammate is read locally. Nothing is posted to Tool-Lifes or a third-party ingest endpoint.
  5. Compare is a second sanitize pass — Side-by-side compare loads two already-sanitized boards in memory. It is not an upload or server diff; just a second guard pass on both sides.

Local paste, sanitizeDoc + guardShape + guardChart + plainText, recent and compare stay on-device with guards still on.

Sanitize teaching only. Not malware scanning; trust files you open.

Second decision: keep or change the default bar chart

After the paste/restore sanitize how-to, one worked chart pass using on-device studio defaults — bar type, labels A–E, values 24·38·31·52·46 — still through sanitizeDoc and guards.

  1. Start from the default bar — Fresh studio opens with chart type bar, labels A B C D E, and values 24, 38, 31, 52, 46. Work stays in browser memory only.
  2. Ask if categories need bars — Keep bar when comparing a few discrete categories. Switch type only if the story is parts-of-whole, trend, or many points — still on this device.
  3. Edit labels and values locally — Change the five default labels or values in place. Every paste or restore still runs sanitizeDoc, guardChart, and plainText before render.
  4. Guards stay on when you switch type — Changing chart type still goes through guardChart. Unknown fields drop; a bad doc rejects instead of drawing raw.
  5. Export without upload — Download or copy stays local. A coworker paste must pass the same sanitize path — never a POST to Tool-Lifes.

Decide from default bar A–E / 24–46: keep for categories, switch type only with guards still on, all on-device.

Sanitize teaching only. Not malware scanning; trust files you open.

Second decision: keep or change the default bar chart

After the paste/restore sanitize how-to, one worked chart pass using on-device studio defaults — bar type, labels A–E, values 24·38·31·52·46 — still through sanitizeDoc and guards.

  1. Start from the default bar — Fresh studio opens with chart type bar, labels A B C D E, and values 24, 38, 31, 52, 46. Work stays in browser memory only.
  2. Ask if categories need bars — Keep bar when comparing a few discrete categories. Switch type only if the story is parts-of-whole, trend, or many points — still on this device.
  3. Edit labels and values locally — Change the five default labels or values in place. Every paste or restore still runs sanitizeDoc, guardChart, and plainText before render.
  4. Guards stay on when you switch type — Changing chart type still goes through guardChart. Unknown fields drop; a bad doc rejects instead of drawing raw.
  5. Export without upload — Download or copy stays local. A coworker paste must pass the same sanitize path — never a POST to Tool-Lifes.

Decide from default bar A–E / 24–46: keep for categories, switch type only with guards still on, all on-device.

Sanitize teaching only. Not malware scanning; trust files you open.

Keep, switch, or export

Choose one action for the chart already in the studio.

Leave the current chart type. If a guard warning is showing, fix that field before export.

On-device studio. Sanitize still strips scripts. Not a new chart type.

Accessibility presets

Loads a starter through the studio path. Labels pass sanitize before they are drawn.

A preset is a starting drawing. Check contrast in the room where you present.

Fix this misleading chart

Classroom pairs. The left drawing hides the baseline; the right one starts at zero.

Why do these bars look almost equal?

Misleading

The axis starts near the top, so a small gap fills the picture.

Honest baseline

Start the axis at zero so the eye compares length, not a cropped sliver.

What should a classroom do with a dual-axis chart?

Misleading

Two scales on one picture can make unrelated series look as if they move together.

Honest baseline

Split the series or label both units in words before you claim a link.

Click to place

Pick a shape tool, then click the artboard. Labels pass sanitizeLabel before they are drawn.

Pick a shape tool, then click the artboard. Labels pass sanitizeLabel before they are drawn.

Sanitize checklist

Confirm the on-device path before you export. Nothing here uploads your diagram.

Frequently asked questions

Is the studio a full design suite replacement?
No. It is a focused viz craft workspace with honest chart/diagram defaults.
Do scores crown the “best” chart?
No. They are editorial browsing meters for craft dimensions.
Does studio guarantee WCAG pass?
No. Defaults help; final contrast and semantics still need review.
Pie charts always bad?
Often misused for many categories; small part-to-whole sets can still work with care.

Which visual? Make a visual from a file Everything About Visualization