✏️

Excalidraw

In-depth review
Free
Productivity

Collaborative virtual whiteboard with a hand-drawn feel. Open-source Miro/Figma FigJam alternative — real-time collaboration, offline support, and end-to-end encrypted rooms.

Catalogued April 15, 2026 · Curated by PWA Directory team
✏️Excalidraw
excalidraw.com
Excalidraw, as it opens in a browser tab

Excalidraw, as it opens in a browser tab.

Works Offline
Installable
Cross-Platform
✓
Free

Not sure how to add Excalidraw to your home screen? Step-by-step for Chrome, Safari, Firefox and Edge — it takes about ten seconds, and there is no app store involved.

Own Excalidraw? Have us re-run this measurement — we open it in a real browser, cut the network, and send you what survived.

Tags
whiteboarddiagramscollaborationopen-sourceofflinereplaces-miroe2e

How to install Excalidraw as a PWA

Chrome / Edge
Menu (⋮) → Add to Home screen
Safari (iOS)
Share (↑) → Add to Home Screen
Firefox
Menu (⋮) → Install

Screenshots

4 images · scroll →
Excalidraw screenshotExcalidraw screenshotExcalidraw screenshotExcalidraw screenshot

Why we recommend Excalidraw

Excalidraw is the canonical answer when an engineer says 'let me sketch this real quick.' The hand-drawn aesthetic is intentional — it lowers the perceived investment in any diagram, which makes people willing to throw boxes-and-arrows at problems they'd never bother to formalise in Lucidchart or Figma. The MIT-licensed core has been adopted by Notion (their whiteboard shipped on top of Excalidraw), VS Code (the Excalidraw extension), and Obsidian (excalibrain plugin), which tells you something about the quality of the underlying code. As a PWA, it works fully offline — your boards live in IndexedDB, no cloud account needed. When you do want collaboration, the free public service supports E2E-encrypted rooms (the URL contains the encryption key), and self-hosting via excalidraw-room takes ~10 minutes if you want to keep everything internal. The library of community-built shape libraries (icons, AWS/GCP/Azure assets, mermaid sequence diagrams) means you can go from sketch to publishable architecture diagram in the same canvas.

Best use cases

Best for: software architecture sketches in standups, system-design interview preparation, classroom whiteboarding, async PR reviews where a diagram explains intent faster than text, and quick collaborative brainstorming on a Zoom call (everyone hits a shared link). The Mermaid-to-Excalidraw bridge is excellent for turning text-defined sequence/flow diagrams into editable shapes.

Honest limitations

Not for: high-fidelity UI mockups (Figma owns this — Excalidraw's strength is purposeful imprecision). Not for: massive boards with 1000+ elements — the canvas slows down past a few hundred shapes. Real-time collaboration via the public server has no persistence: when the last participant leaves, the room disappears unless someone exports the file. For team-grade persistence, self-host or use a wrapping product like Excalidraw+.

Are you the maker of Excalidraw? Claim this listing →

Excalidraw in our guides

A list of progressive web apps worth installingThere is no App Store for progressive web apps, which is why a list is the only way to find them. The ones worth installing cluster in a few places: drawing and design (Excalidraw, Photopea, Penpot), developer references (DevDocs, regex101, Squoosh), notes and documents (Notesnook, AppFlowy, CryptPad), games (Lichess, PROXX, 2048), and maps (Organic Maps, OpenStreetMap). Install from the browser's address bar — there is nothing to download.Read the answer →
Websites that install like appsA progressive web app is a website that can install itself: it declares a manifest, registers a service worker, and the browser then offers it a home-screen icon and its own window with no address bar. Unlike a bookmark, an installed site can cache its own code and keep running with no connection. Excalidraw, Photopea, DevDocs, Lichess and Organic Maps are all ordinary websites by URL and installed applications once you accept the prompt.Read the answer →
Free apps that install from the browserProgressive web apps skip the app stores entirely, so there is no 30% platform cut pushing developers toward paid tiers — and a lot of the best ones are free. Lichess, DevDocs, Excalidraw, PROXX, Squoosh, GeoGebra and Organic Maps are all free to use, and several are open source. Install from the browser: no store account, no payment method on file, nothing to download.Read the answer →
Whiteboards that run in a browser tabExcalidraw is the one most people want: a hand-drawn whiteboard that installs from the browser, needs no account, and keeps working with the network cut. tldraw covers the same ground with a cleaner line. For interface design rather than sketching, Penpot is the open-source option. Whimsical handles flowcharts and wireframes. All of them open in a tab first — installing just gives them a window and an icon.Read the answer →
Do you need an account for Paper Critters?No. Paper Critters opens in the browser and starts working immediately — no account, no email, no sign-up wall between a child and the thing they came to do. Decorate a 3D paper toy with shapes and stickers, print the one-page sheet, fold it into a real critter. The studio also keeps working with no connection once it has loaded.Read the answer →
How do you make a printable paper toy?Decorate the toy in 3D first, then print. Paper Critters shows you the critter as a solid object you can turn while you add shapes and stickers, and only flattens it to a printable sheet when you are done — so you are never guessing how a flat template will look folded. One ordinary page, cut, fold, finished.Read the answer →
Does Paper Critters work offline?Yes. The Paper Critters studio keeps working with no connection once it has loaded, and it installs from the browser like a desktop program. You can decorate a critter on a train, in a car or anywhere with no signal; the only step that needs anything beyond the browser is the printer at the end.Read the answer →
We read 386 PWA manifests. One was complete.We fetched the web app manifest of all 386 apps in the discovered catalogue: 373 responded. Of those, 41% declare a maskable icon, 11% declare an `id`, 8% declare shortcuts, and only 11% ship any screenshot at all. Exactly one manifest in 386 filled in every field we checked. The median manifest declares 3 icons, tops out at 512px, has no screenshots, no id, no shortcuts, and no language — which is enough to install, and not enough to look like software anyone maintains.Read the answer →
PWA examples: 578 tested, 243 kept working with the network offOf the 578 installable web apps catalogued here, 243 keep working with the network disconnected — 42%. The rest install, show an icon, open in their own window, and then show nothing useful offline. So a PWA example is only an example of the format; whether it delivers the format's defining promise is a separate question, and it has to be tested app by app. The 243 that pass span every category: development tools, utilities, games, productivity, education.Read the answer →
3,800 AI citations, zero visits: which assistants actually send peopleIn six months of analytics, ChatGPT sent 136 sessions and Gemini sent 4. Microsoft Copilot sent none — despite Bing Webmaster Tools reporting 3,800 citations of this site over three months. Google's AI Overview appears on 46.7% of the queries this site ranks for and cites it in 0% of them, including queries where the site ranks first. So citations and visits are not the same measurement, they do not move together, and the engine that publishes citation data is not the one sending readers.Read the answer →
Where to submit your PWA — and which directories a machine can still readSubmit to store.app, pwastore.io and pwa.directory. Those three serve an inventory a crawler can read without running JavaScript: roughly 1,350, 818 and 550 entries respectively. The fourth, findpwa.com, still answers with HTTP 200 but returns 33 bytes and zero links — its catalogue exists only after JavaScript runs, and the one machine-readable feed it publishes is blocked in its own robots.txt. Submitting there costs you nothing but buys you nothing either.Read the answer →
Your PWA does not work on iPhoneFour iOS-specific behaviours explain almost every case. There is no automatic install prompt — the user must use Share then Add to Home Screen, and nothing on the page can trigger it. Every browser on iOS uses Safari's engine, so "try Chrome instead" changes nothing. The installed app gets its own storage, separate from Safari, so a session created in the browser does not exist inside the icon. And push notifications require iOS 16.4 or later and only work once the app is on the Home Screen.Read the answer →
Your PWA looks wrong on AndroidAndroid rarely refuses to run a PWA; it runs it slightly wrong. The three causes we see most: no `maskable` icon, so your square logo sits in a white circle — 215 of the 373 manifests we read do this. A cached WebAPK, so a changed name or icon keeps showing the old one for days. And a service worker that registers but caches nothing, so the app installs and then shows nothing offline.Read the answer →
Your PWA does not load at allFirst separate two symptoms, because they have nothing in common. If the window opens and stays white, the service worker answered with nothing — that is a caching problem. If the app does not open at all, or the icon launches and closes, the entry point itself is unreachable: `start_url` returns an error, redirects somewhere the app cannot render, or falls outside `scope`. Open `start_url` directly in a private window; if it does not render there, it will not render in the installed app either.Read the answer →
Your PWA opens to a blank screenA PWA that opens to a blank screen is nearly always a service worker that answers the request but has nothing to answer with. The four causes, in the order we actually encounter them: the worker is registered but its cache is empty; the app shell is cached but the data it needs is not; the cache holds files from a previous deploy that no longer exist; or the manifest points somewhere that does not load. Open devtools → Application → Service Workers, tick Offline, and reload — the cause is visible in under a minute.Read the answer →
The install prompt never appearsChrome does not offer installation until every condition is satisfied at once: HTTPS, a linked manifest with name, a 192px and a 512px icon, a `start_url` inside `scope`, `display` set to standalone, fullscreen or minimal-ui, and a service worker with a fetch handler. Miss one and the prompt is silently withheld — no error, no warning. Devtools → Application → Manifest lists the failing condition explicitly under Installability — [the full checklist is here](/blog/why-is-my-pwa-not-installable).Read the answer →
Your update never reaches installed usersTwo separate things cause this. The everyday one: a service worker only takes control on the next navigation, so a user with the app open keeps the old version until they fully close and reopen it — and if you never call `skipWaiting`, the new worker waits indefinitely. The permanent one: changing `start_url` without a pinned `id` makes the browser treat your app as a different app, so everyone who already installed keeps the old one forever and silently stops receiving anything.Read the answer →
Your app icon sits in a white circle on AndroidAndroid does this when no icon in your manifest declares `"purpose": "maskable"`. Without one, Chrome treats your icons as legacy, refuses to crop them into the device's adaptive shape, and instead centres them on a white circle — which is why an installed PWA looks unfinished next to native apps. The fix is one extra 512×512 PNG with roughly 20% padding around the artwork, declared as maskable alongside your existing icons.Read the answer →
Are PWAs still relevant?Yes, but far less than the advocacy suggests. We opened 386 installable web apps in a real browser and cut the network: 151 kept working, 235 showed nothing. So the defining promise of the format — it works without a connection — holds for 39% of the apps that claim it. PWAs are relevant where someone did the work; the format is not the guarantee people assume it is.Read the answer →
How many PWAs are actually broken?Most of them, by at least one measure. Across 386 installable web apps opened in a real browser on 12 August 2026: 235 install and then show nothing offline. Of the 373 manifests we could read, 215 declare no maskable icon, 329 declare no `id`, and 331 declare no screenshots. 3 apps link to a manifest that no longer responds at all — those cannot be installed by anyone, and nothing in normal browsing reveals it.Read the answer →
Do PWAs actually work offline?Some do, most do not. Installability and offline capability are separate: a browser offers to install an app based on its manifest and the presence of a service worker, not on whether that worker caches anything useful. Of 386 installable web apps we opened with the network cut on 12 August 2026, 151 kept working and 235 showed nothing. So when an app says it is a PWA, that tells you it can be installed — it does not tell you it will run on a plane.Read the answer →
Why did PWAs fail?They did not fail — the promise that they would replace app stores did, and for two reasons that have nothing to do with the technology. Apple never shipped an install prompt, so on iPhone the user must know a hidden menu path. And nobody solved discovery: an app store is a place people already go, a web app has to be found. What the technology actually delivers, we measured: 151 of 386 installable apps keep working with the network off. The format works where someone did the work.Read the answer →
Why is my PWA not installable?Because one of Chrome's installability conditions is unmet, and it never says so unless you look. The list: HTTPS, a linked manifest, a name, icons at 192px and 512px, `display` set to standalone/fullscreen/minimal-ui, `start_url` inside `scope`, and a service worker with a fetch handler. Devtools → Application → Manifest → Installability names the failing one directly. The most common causes we see are a missing 512px icon and a service worker with no fetch handler.Read the answer →
Does Excalidraw work offline?Yes. Excalidraw runs entirely in your browser, and once the page has loaded once it keeps working with no connection at all. [Install it as an app](/blog/how-to-install-a-pwa) from Chrome, Edge or Safari and it opens like any desktop program — offline included. Your drawings are saved in the browser's local storage on your own device, not on a server. The only features that need a connection are live collaboration and shareable links.Read the answer →
Excalidraw download: there is no installer — and you don't need oneThere is no official Excalidraw download. The Excalidraw team does not ship an installer for Windows, macOS, Linux or Android, and any .exe or .apk offered elsewhere is not from them. What you actually want exists though: install Excalidraw from your browser in one click and you get a real application window, a dock or taskbar icon, and full offline use — no download, no account.Read the answer →
Is Excalidraw free — including for commercial work?Yes, on both counts. Excalidraw is open source under the MIT licence, which explicitly permits commercial use: you can use it at work, in client deliverables, and in a commercial product without paying or asking. The [free version](/directory/excalidraw) has no feature lock and no watermark. Excalidraw+ is a separate paid, hosted product for teams that want persistent workspaces and managed collaboration — it is an addition, not an unlock.Read the answer →
How to install a web app on any deviceAny Progressive Web App can be installed from the browser in a few seconds, with no app store involved. On Chrome and Edge, look for the install icon at the right of the address bar. On Safari, use File → Add to Dock on macOS, or Share → Add to Home Screen on iPhone and iPad. On Android, Chrome offers an install prompt or you use the ⋮ menu. You get a real icon, a window with no browser interface, and — for apps that support it — full offline use.Read the answer →
What is a PWA, really — and how to tell if a site is oneA Progressive Web App is a normal website with two additions: a manifest file that tells the browser how to install it, and a service worker that caches it so it keeps running with no connection. That is the whole definition. In practice it means a site you can add to your dock or home screen, that opens in its own window with no address bar, and that works on a train. No app store, no download, no review process — the browser does the installing.Read the answer →
Games you can play with no internet, straight from the browserYes, browser games can work entirely offline — once installed, a game with a service worker caches its code and assets and runs with no connection at all. That covers puzzle games, chess, and anything that does not need a live opponent. What cannot work offline is real-time multiplayer, since it depends on a server relaying moves. Install from the browser, load once while connected, and the game is available on a plane or in a tunnel.Read the answer →

Similar to Excalidraw

tldraw

Infinite canvas whiteboard for quick sketches and diagrams. Minimal, fast, collaborative. Open-source alternative to Miro with a focus on simplicity and developer extensibility. The canvas has no fixed page size, so a sketch can grow in any direction without being rescaled to fit.

AFFiNE

Open-source all-in-one workspace — docs, kanban, and whiteboards in one canvas. Local-first, privacy-focused Notion + Miro alternative. Everything is editable, even the schema. Documents and whiteboards are two views of the same content, so a note can become a diagram without being copied.

CryptPad

End-to-end encrypted office suite — docs, spreadsheets, kanban, code pads. No account needed for guest use. Hosted in France, GDPR-native. The privacy-first Google Docs alternative.

Mermaid Live Editor

Simplify documentation and avoid heavy tools. Open source Visio Alternative. Commonly used for explaining your code! Mermaid is a simple markdown-like script language for generating charts from text via javascript.

draw.io

Free, open-source diagramming tool. Flowcharts, network diagrams, UML, floor plans. Works offline, saves to Google Drive/GitHub/local. Widely used in enterprises as a Visio alternative. Files stay in the .drawio XML format, so a diagram remains editable years later without the tool that made it.

Notesnook

End-to-end encrypted note-taking app. Zero-knowledge sync across devices. Open-source and audited. The Evernote/Notion alternative that genuinely can't read your notes. Notes are encrypted on the device before they ever sync, so the server stores ciphertext it cannot open.

Own a PWA? See the listing options — standard submission is free.

Get the monthly pick
Double opt-in — nothing is sent until you confirm. Unsubscribe any time.