](https://apt.izzysoft.de/packages/com.paperknife.app)
Or use the [live site](https://potatameister.github.io/PaperKnife/) — installable as a PWA for offline access.
---
## Run the web version locally
Requirements: **Node.js 22+** and `git`. Everything below runs on your own machine.
```bash
git clone https://github.com/potatameister/PaperKnife.git
cd PaperKnife
npm ci # install dependencies (also used by CI)
npm run vendor:ocr # optional, only needed for Deep OCR (one-time)
npm run dev # start the local server (http://localhost:3000)
```
Notes:
* `npm run vendor:ocr` is **optional** — skip it and everything works except Deep OCR. The engine files (~30 MB) are never committed to git, so a fresh clone cannot do OCR until you run it. Re-running later is safe — it skips what is already there.
* `npm run build` produces a static `dist/` folder you can serve with any static host (`npm run preview` to check it locally). No server component exists — it is plain files.
* To build the Android APK yourself, you additionally need JDK 21 + Android SDK, then `npx cap sync android` after `npm run build`. The OCR files (if vendored) are bundled into the full APK automatically.
---
## Support
[](https://potatameister.github.io/support)
PaperKnife is a solo project — open-source, ad-free, and tracker-free. All support options live on the [support page](https://potatameister.github.io/support). If it saved you time or kept your data safe: chip in, star the repo, or share it with anyone who handles sensitive documents.
---
## License
GNU AGPL v3 — free forever, auditable by anyone.
---
*Made with care by [potatameister](https://github.com/potatameister)*