A sketchpad that's just one HTML file. Open it and draw — with a pressure-sensitive pen if you have one (Apple Pencil, Wacom, an iPad). No signup, no install, and nothing leaves your browser.
Open the live demo and draw something, or download index.html and open it on any machine, even one with no internet.
Sometimes you just want to scribble an idea — on a tablet with a stylus, or with a mouse — without opening a heavy app or signing into anything. offline-sketch is a sketchpad in a single file. You open it and draw. Strokes are pressure-sensitive when you use a pen, so lines taper like the real thing.
Everything is saved in this browser and never sent anywhere. Open the Network tab and reload if you want to check: the only thing that loads is the page itself.
Because the drawing lives in your browser, it's tied to that browser on that machine. To keep something, use Export (PNG, or .json you can re-import).
- A pressure-sensitive pen (real pressure with a stylus; smooth, tapered strokes)
- Eraser, eight colours, and an adjustable brush size
- Undo and redo
- Export to PNG, export/import the drawing as
.json - Saves to the browser automatically
- Works with a mouse, a finger, or a stylus (Apple Pencil, Wacom, iPad)
Open the live demo and draw. To use it offline, download index.html and double-click it. It's a static file, so you can keep it on a USB stick, drop it on any web host, or git clone and open it.
Grab the file from a terminal (this also works inside Claude Code or Codex):
curl -O https://raw.githubusercontent.com/nocodework/offline-sketch/main/index.html
open index.html # macOS · Linux: xdg-open index.html · Windows: start index.html| Key | Action | Key | Action |
|---|---|---|---|
P |
Pen | [ ] |
Smaller / bigger brush |
E |
Eraser | ⌘Z / ⌘⇧Z |
Undo / redo |
S |
Brush size |
There's no backend, so there's nowhere for your drawings to go. No account, no cookies, no analytics, and no fonts pulled from a CDN. Your drawing sits in your browser's local storage on your own device. Export saves a copy. The whole thing is one readable file, so if you'd rather not take my word for it, open index.html and read it.
Plain JavaScript, no libraries. Drawing uses Pointer Events, including getCoalescedEvents() for high-fidelity stylus input and pressure for variable line width. Each stroke is kept as a list of pressured points, so undo, redo, resizing, export and autosave all work from the same data. Strokes are saved to local storage.
| offline-sketch | Excalidraw | Procreate / native apps | |
|---|---|---|---|
| Works with no internet | yes | needs PWA install | yes |
| No account, nothing to install | yes | mostly | needs install |
| Pressure-sensitive stylus | yes | limited | yes |
| Single file you own | yes | no | no |
| Open source | yes | yes | no |
It's deliberately small: a sketchpad you can carry around in one file. For full illustration or layers, a native app like Procreate will serve you better.
offline-sketch is one of a small family of single-file, offline-first tools by NoCodeWork — one HTML file, no account, no server, works offline. The others:
offline-whiteboard — sticky notes, shapes and arrows on an infinite canvas · demo
offline-notes — a Markdown editor that renders as you type · demo
- ai-context-kit — give any AI tool durable context about you and your company
- growth-os — an open Growth OS for any AI agent: audit a site's SEO, speed, GEO and competitors, then act
Issues and pull requests are welcome, see CONTRIBUTING.md. It's one file with no toolchain, so there's nothing to set up first.
MIT, by NoCodeWork. Do whatever you want with it.
Built by NoCodeWork, where we build automation, AI and apps for companies.



