A suite of free, browser-based tools. No uploads, no accounts, no backend, no cost.
Live tools:
- PDF Editor — rotate, delete pages, add text & images
- Background Remover — on-device AI, outputs transparent PNG
- Photo Editor — adjustments, filters, rotate, flip, crop
- Upload via drag & drop or file picker
- Navigate pages (prev/next, direct input, arrow keys)
- Rotate pages 90°, delete pages
- Add draggable text annotations (configurable size/colour)
- Add draggable/resizable image overlays
- Download edited PDF with annotations baked in
- Supports PNG, JPG, WebP
- On-device ML model via
@imgly/background-removal— image never leaves the browser - Progress bar for model loading (~20 MB first run, cached afterwards)
- Preview with transparent / white / black / custom colour background
- Download as PNG with or without background
- Adjustments: brightness, contrast, saturation, blur
- Rotate 90° left/right, flip horizontal/vertical
- 8 preset filters: None, Grayscale, Sepia, Warm, Cool, Vivid, Fade, Noir
- Crop: drag-to-select overlay, applies crop and resets transforms
- Download at full original resolution
| Library | Purpose | Source |
|---|---|---|
| PDF.js | Render PDF to canvas | CDN |
| pdf-lib | Edit PDF structure | CDN |
| @imgly/background-removal | In-browser AI background removal | CDN (ESM) |
| Tabler Icons | UI icons | CDN |
| Canvas API | Photo editing | Built-in |
No build step. No Node.js required to run.
# Python 3
python3 -m http.server 8000
# open http://localhost:8000
# Node.js
npx http-server -p 8000 -oNote: The background remover requires a local server (not
file://) because it loads WebAssembly via ESM import.
index.html Hub / landing page (stays at root)
pages/
pdf-editor.html PDF editor tool
bg-remover.html Background remover tool
photo-editor.html Photo editor tool
css/
shared.css Common styles (theme, header, buttons, drop zone)
index.css Hub page styles
pdfEditor.css PDF editor styles
bgRemover.css Background remover styles
photoEditor.css Photo editor styles
js/
theme.js Light/dark theme toggle (defaults to light)
pdfEditor.js PDF editor logic
bgRemover.js Background remover logic (ES module)
photoEditor.js Photo editor logic
package.json Metadata + dev scripts
.gitignore
LICENSE MIT
- Fork the repo
- Create a feature branch:
git checkout -b feat/my-feature - Commit your changes
- Open a pull request
Goal: keep the site dependency-free (CDN only), zero build step, one page per tool under pages/ with its own css//js/ files.
MIT — see LICENSE