
I needed a box and an arrow for a five minute sketch. I opened a whiteboard tab. The canvas was sitting there. A modal sat on top of it. The first field was an email.
I closed it. I don't have a team workspace for a sticky.
The Online Whiteboard page on Softery draws when the tab loads. A pen. A sticky. PNG or SVG of the board, or of the bit you selected. The file stays on this computer.
The Pen Was Behind a Modal
A lot of boards look free until the first stroke. Then a plan picker. Then a workspace name. Then an email. The canvas is a screenshot behind glass.
I wanted the opposite shape. Open the tab. The pointer is already a pen. Space pans. The wheel zooms. A first visit puts a sticky that says stand-up and a short stroke on the board so you can export something before you draw anything of your own.
The canvas is ready when the tab is.
That is the whole product. A page that is already a board. Not a room you provision.
I kept closing tabs that wanted an account to prove I was allowed to draw. The sketch I needed was a rectangle and an arrow. It did not need a seat. It did not need a domain on a shared plan. It needed a file I could drop into a chat.
The sample is on the board on purpose. A sticky that says stand-up, plus a rectangle and a short stroke so the first export is a real file. Enough to pan. Enough to see that zoom does not smear. Clear board empties it. Undo puts it back. After a clear, the blank page stays blank the next time you open the tab, because an empty board you meant to keep should not be overwritten by the sample.
Rank 86 of 1,761
I ranked this idea 86th out of 1,761, score 9.15, about 35 hours of work. The 9.15 is an editorial score from that queue, not a search volume I measured tonight.
The diagram family in that list is long. Flowcharts, mind maps, Gantt, mermaid. Those can wait. The thing I actually hit was simpler: I wanted ink on a page, then a PNG, without creating a login I would not use again.
The queue card said land on a live canvas with no modal. That is what shipped. I am not going to pretend the rank is a demand study. It is a note that this job kept showing up next to the other canvas tools, and that the failure mode I actually hit was a sign-in wall, not a missing brush.
World Coordinates
A bitmap canvas looks fine at 100 percent. Zoom in to write in a corner and the stroke turns into mush. The pixels were sampled at one size. The view is now another size.
This page stores every item in world space. The camera is a pan and a zoom on top of that. Wheel in and the same points are still the same points. The SVG group translates and scales the view. The ink is still a path.
The zoom math keeps the world point under the cursor. You point at a corner of a sticky, roll the wheel, and that corner does not slide away. The tests check a round trip: screen to world and back, at a pan of 120 and a zoom of 1.6, and a zoom-in that holds the point at 200, 150. If that test fails, the board feels drunk.
Zoom clamps at 0.25 and 4, from the camera module in this sitting. Far enough to see a whole sketch. Close enough to write in a margin. The board cannot vanish and it cannot explode.
That split is the reason the PNG of a selection still looks like the thing you drew. Export walks the world coordinates, not a screenshot of the pixels on screen. A screenshot of the window would include the toolbar and the grid. The file should not.
The Pen Is an Outline
The pen is perfect-freehand 1.2.3, MIT. A stroke is a list of points. On the way out it becomes a closed SVG path of quadratic midpoints. Zoom does not resample it.
A tap that never travelled is dropped, so a click does not leave a blob. Two points a pixel apart are dropped too. A stroke has to travel. The sizes on the toolbar are 3, 6 and 12. Those are pen sizes in world units, not pixels on your monitor.
I did not wrap another company's whole canvas. Some of those licenses want a watermark on a commercial page. The outline here is a small MIT function and a scene I own. The JSON you save is mine to read later because I defined version 1. A future version is refused rather than guessed at.
Ink colors are black, red, blue, green. The sticky paper is its own yellow. Mixpanel gets the setting name. It does not get the points. It does not get the pressure values either, even though the stroke stores them when the pointer reports them.
Stickies Are Not Ink
The eraser hits strokes. It does not hit stickies. Wipe a line, the note stays. That is the "normal eraser" people ask for when the other kind deletes the box they meant to keep.
A sticky is 200 by 140. Double-click it and type. Text sits as text. Export SVG keeps it as <text>, not a bitmap of the note.
Select a sticky and drag it. The camera can move underneath. The note stays where you put it in world space, which is why pan does not lose it.
N drops a new one. V selects. Delete removes what you selected. Undo goes back up to 80 steps.
Export the Bit You Circled
Select nothing, and Download SVG or Download PNG takes the whole board. Select a box, and only that box goes into the file. The viewBox is the union of the chosen items, padded.
| File | What it is | What it is not |
|---|---|---|
| whiteboard.svg | Vector paths and sticky text | A screenshot of the window |
| whiteboard.png | A raster of that same viewBox, white paper | html-to-image of the DOM |
| whiteboard.json | Version 1 items you can Open later | A cloud document |
The PNG is drawn from the SVG string onto a canvas in this tab. Long side caps at 2048. If this browser will not rasterize the SVG, the page says so and leaves the SVG download in place.
A PDF dropped on Open is refused. It is already a document. Join those on Merge PDF. Photos of a form belong on Images to PDF. Notes that are already Markdown belong on Markdown to PDF.
The Board Lives in This Browser
Items live under softery.online-whiteboard.board. Pen size and color live under softery.online-whiteboard.settings. Close the tab. Open it tomorrow. The same strokes are there.
Clear board writes an empty list and remembers you have been here, so the sample does not come back and overwrite a blank you meant to keep. Clear the site data and the sample sticky returns.
Save board writes whiteboard.json. Open board reads it back. Junk, a future version, and a PDF are refused so a bad drop cannot wipe what you had.
Nothing is uploaded. After the JavaScript has loaded you can unplug the cable and keep drawing.
What I Did Not Ship
There is no live cursor. There is no room link. There is no OCR of handwriting. Those are different products and a different bill.
I am not going to list someone else's paid feature grid and claim I matched it. I did not sit through a competitor's billing page tonight to count checkmarks. The job on this page is a board you can draw on without an account, and a file you can take with you.
Two people cannot edit this board at once. If that is the job, this is the wrong tab.
I also did not ship a laser pointer. Undo caps at 80 steps. After that the oldest change falls off. If you need a copy from last week, that is what Save board is for.
The JSON is version 1 on purpose. When the scene grows, a new version gets a new parser. The current one refuses anything it does not recognize rather than dropping fields on the floor.
Keyboard, Fingers, a Wheel
V select. P pen. E eraser. R rectangle. O ellipse. A arrow. N sticky. T text. H pan. Space pans for as long as you hold it. Two fingers pan and pinch on a phone.
The wheel zooms toward the cursor. The world point under the pointer stays under the pointer. That is the same camera math the tests check: a screen point round-trips through world space at any pan and zoom.
Touch and a mouse go through pointer events, so a pen tablet is not a separate path. Middle mouse pans. Right click does not open a menu on the canvas. Two fingers at once cancel a stroke that had started, then pinch. That is clumsy if you meant to draw with one finger and rested the other. It is the right call if you meant to move the view.
On a narrow phone the tool labels hide and the icons stay. The canvas is 32 rem tall, 36 rem on a wider screen. The grid is 48 world units. It is a location hint, not a snap. Shapes do not glue to it.
What Mixpanel Sees
Softery.io loads Mixpanel and Google Analytics on every page, including this one. The slug is online-whiteboard.
They get that someone opened the tool, which setting moved, a band for how many items were on the board, and whether a download happened. They do not get the ink. They do not get the sticky text. Item counts go out as 0, 1_5, 6_20, 21_50, 50_plus.
That is the same contract as the other free tools. A board nobody can measure is a board nobody can tell is being used. A board that ships the strokes would be a different product.
Files You Can Rename
The downloads are named whiteboard.svg, whiteboard.png and whiteboard.json so a person's name never lands in a default filename. Rename them after you have them.
A first visit can export the sample. The sticky says stand-up. The file is real. Replace the sample by drawing on top of it, or press Clear board and start empty.
The JSON round-trips in the tests. Junk, a PDF header, and a version 2 blob all come back as null, so Open cannot wipe a board you already had. Version 1 is the only one this page writes.
Undo after a clear puts the sample back. That is the history stack, not a hidden cloud copy.
Open the Tab
- Open Online Whiteboard.
- Draw, or drag the sample sticky, or press Clear board and start empty.
- Select the bit you care about, or leave the selection empty for the whole board.
- Download SVG or Download PNG. Save board if you want the JSON on disk.
The title is Online Whiteboard, 30 characters with the site suffix. The description is 142 characters. Those bounds are the same ones the other tool pages use.
There are thirty-four free tools on the hub as of this sitting. This is the one that is already a canvas when the page finishes loading.
Last updated: September 16, 2026 | Reading time: 10 minutes
Written by Softery.io, which would rather you draw than create a workspace.