A beautiful, fully-featured digital painting app that runs 100% in your browser.
Try it now: Just download hart-paint.html and open it in any modern browser (Chrome, Firefox, Edge, Safari). No install, no server, no dependencies.
- Pencil (hard edges)
- Dip Pen / Brush (smooth tapered strokes)
- Airbrush (soft, pressure-sensitive)
- Sprinkles (fun particle spray)
- Eraser
- Pressure sensitivity support (stylus & pen tablets)
- Rectangle Select with live resize handles + floating selection
- Magic Wand (tolerance-based)
- Lasso (freehand selection)
- Copy / Cut / Paste / Delete selections
- Marching ants effect
- Line (Shift to snap angles)
- Polyline (click to add points, double-click/Enter to finish)
- Circle / Ellipse (Shift for perfect circle)
- Rectangle (Shift to constrain proportions)
- Flood Fill (bucket tool)
- Unlimited layers
- Add, delete, duplicate, merge down
- Reorder with drag-and-drop feel (up/down buttons)
- Per-layer opacity + visibility toggle
- Thumbnail previews
- Full HSV color picker (saturation/value square + hue bar)
- Live hex input
- Built-in palette with 24 classic colors
- Eyedropper tool (I key)
- Smooth zoom (mouse wheel + buttons)
- Pan (Space + drag or middle-click)
- Zoom to fit
- Automatically capture frames every 30 seconds
- Export as WebM video (perfect for speedpaints & sharing progress)
- Save PNG of flattened artwork
- Save / Load Project (
.hartprojectformat — preserves all layers, settings, and history) - Open any image file to start painting
- Up to 40 steps of full undo/redo (including layer operations)
| Key | Action |
|---|---|
S |
Rectangle Select |
W |
Magic Wand |
O |
Lasso |
P |
Pencil |
B |
Brush / Dip Pen |
A |
Airbrush |
K |
Sprinkles |
E |
Eraser |
G |
Fill (Bucket) |
L |
Line |
V |
Polyline |
C |
Circle |
R |
Rectangle |
I |
Color Picker |
[ / ] |
Decrease / Increase brush size |
Enter |
Commit floating selection or finish polyline |
Esc |
Cancel selection / polyline / lasso |
Delete / Backspace |
Clear selection |
Ctrl/Cmd + C/X/V |
Copy / Cut / Paste |
Ctrl/Cmd + Z |
Undo |
Ctrl/Cmd + Shift + Z |
Redo |
Space |
Pan mode |
- Download the latest
hart-paint.htmlfrom the Releases page (or just the raw file from the repo). - Double-click the file — it opens instantly in your browser.
- Start painting!
- Pro tip: Press
?or check the top bar for quick actions.
Pro tip for developers: The entire app is one single HTML file (~70 KB). You can host it on GitHub Pages, Netlify, Vercel, or anywhere else with zero backend.
(Add screenshots here once you have them — recommended: full UI, layers panel, color picker, timelapse export, selection tools in action)
- Pure HTML5 + Canvas
- Vanilla JavaScript (no frameworks)
- Tailwind-inspired custom CSS (fully self-contained)
Because it was made with heart ❤️ — a love letter to classic paint programs with modern touches like pressure sensitivity, floating selections, and timelapse recording.
Contributions are welcome! Found a bug? Want a new brush or tool? Open an issue or submit a PR.
Since it's a single file, the easiest way is to fork, edit hart-paint.html, and open a pull request.
MIT License — feel free to use, modify, and distribute this project however you like.
Made with ♥ for artists, speedpainters, and anyone who just wants a great painting app without installing anything.
Star ⭐ the repo if you enjoy using it!
