About Mindmaps
The whole idea
A mindmap tool that runs entirely in your browser. There is no server to send anything to — after the page loads, the app makes no network requests at all.
Dump thoughts into a branching tree, rearrange them, come back later. Nothing to install and no account to make.
Maps are stored in this browser and nowhere else. What that costs you is spelled out under Where your maps live, and keeping them.
Getting around
- Drag empty canvas to pan; on a trackpad, two-finger scroll also pans.
- Pinch to zoom, or Ctrl/Cmd and scroll, or the on-screen + / −.
- Fit to screen re-centres the whole map.
- Tap a node to select it; tap empty canvas to deselect.
Adding and editing
- New nodes open ready to type in, so the loop is add, type, add, type — one gesture per thought.
- Double-tap or double-click a node to edit it. Blur or Done commits.
- Deleting takes everything beneath it. You're told how many nodes go with it, and undo brings them all back.
- Six colours; an uncoloured node inherits its nearest coloured ancestor.
Rearranging
Drag a node and its whole subtree comes with it. Drop on the middle of another node to make it that node's last child, or on the top or bottom edge to insert before or after. On a phone, hold a node briefly to lift it — a shorter touch pans instead. One undo reverses a whole move.
Pasting a list in
Select a node and paste an indented list — Ctrl/Cmd + V, or the Paste action where your browser allows it — and it becomes children of that node, nesting and all. Bullets are optional; tabs or spaces both work. One undo takes the whole paste back out.
This is how notes written elsewhere become a branch to work on. Pasting while editing a node's text does the ordinary thing instead.
Focusing on one branch
Select a node with children and press Focus: the rest of the map drops out of view and that branch becomes the root. A breadcrumb along the top takes you back out. Nothing about the map changes, so there is nothing to undo and nothing to save.
Search and notes
Typing in the search field dims everything that doesn't match, and reveals matches inside collapsed branches — they collapse again when you clear it, because searching never changes the map. Enter steps through the matches, centring each.
Every node can carry a longer note, opened with the Note action. Notes are searchable and saved with the map.
Keyboard
| Key | Action |
|---|---|
| Tab | Add a child of the selection |
| Enter | Add a sibling after the selection |
| F2 | Edit the selection |
| Esc | Cancel an edit · clear the search · deselect |
| Delete / Backspace | Delete the selection and everything under it |
| ↑ ↓ | Select the previous / next sibling |
| ← → | Select the parent / first child |
| Alt+↑ Alt+↓ | Move the node earlier / later among its siblings |
| Alt+← Alt+→ | Outdent / indent the node |
| Space | Collapse or expand |
| 1–6 | Apply a colour · 0 clears it back to inherited |
| Cmd/Ctrl+Z | Undo · add Shift to redo |
| Cmd/Ctrl+F | Focus the search field |
In the editor, Enter commits and opens the next sibling and Tab commits and opens a child, so a run of thoughts is one keystroke per node. Shift+Enter puts a line break inside a node.
Saving
Edits apply instantly and save themselves; the status in the map header tells you where a save stands. A separate crash-recovery copy is kept as you type, so if a tab dies mid-edit, reopening the map offers to restore what you'd written. No network is involved at any point, so there is nothing to go offline.
Open the same map in two tabs and the second to save is told, rather than allowed to overwrite the first.
Where your maps live, and keeping them
In this browser's storage, on this device. Not a file in a folder, and not an account you can log into elsewhere. Nothing is uploaded, so this is the only copy.
So your maps don't appear on your phone if you made them on your laptop, clearing site data deletes them, and a browser short of disk space may evict them — Settings asks it not to, and tells you whether it agreed.
One button writes every map to a single JSON file — notes, colours, collapse state, archived maps and all. It is the copy that outlives this browser, and restoring it elsewhere is also how you move maps between devices.
A copy of each map is also kept for every day it changes, up to 30 days, at ⋯ → Earlier versions. Restoring one loads it as unsaved changes, so undo takes you straight back if it wasn't the version you wanted. It is for the mistake you notice days later — but it lives in the same browser storage as the maps, so it is no substitute for a backup.
Export and import
Two formats. JSON keeps everything, including the map's identity, and is what to send another device or another person. Markdown is an outline of the text only, for getting words into something else.
Export either from the ⋯ menu in a map's header, or pick any map at Settings. A map exported as JSON goes back in through Restore or import maps — the same control that takes a full backup, because a single map is a backup with one map in it.
Markdown comes back in through Import an outline, which makes a new map. To put an outline inside an existing map, paste it onto a node instead.
How to verify the privacy claim
Open developer tools, go to the Network tab, and use the app. You'll see the page and its fonts load, then nothing. The fonts come from this site rather than a CDN precisely so there is no third party to appear in that list.
No analytics, no error reporting, no cookie banner — nothing to consent to, because nothing is collecting anything.
What it doesn't do, and why
Sharing, collaboration, sync, cloud storage and AI would each need the server this app's value depends on not having.
Themes, image export and rich text are out of scope rather than unbuilt. There is no theme picker either — the app follows your system's light and dark setting.
The full list is on the home page, and none of it is planned.
How it's built
A static site: React and TypeScript, six production dependencies, no state-management or graph library. The layout engine is hand-rolled, which is what makes the branches taper.
The source is on GitHub, MIT licensed.