A browser-based tool for preparing biometric photos that meet official requirements for passports, visas, and other identity documents.
Live demo: https://photos.preloader.org
Your photos never leave your device. All processing — face detection, background removal, cropping, and PDF generation — runs entirely in the browser using local machine learning models and WebAssembly. No images are uploaded to any server.
The wizard walks you through four steps:
- Upload & Adjust — Select a photo. The app automatically detects your face, corrects the rotation, and optionally removes the background. You can choose a background colour (white, grey, blue, etc.) and toggle landmark overlays to inspect the detection results.
- Select Document — Choose the target document type (passport, visa, ID card, etc.). The app crops the photo to the exact pixel dimensions and head-placement rules required by that document.
- Print Layout — Preview a print sheet with multiple copies of the photo arranged for standard paper sizes.
- Download — Download the cropped photo as a PNG or the print layout as a PDF, ready to send to a photo lab or print at home.
| Package | Purpose |
|---|---|
| Angular 15 | Application framework |
| face-api.js | In-browser face detection and landmark extraction |
| @imgly/background-removal | In-browser background removal via WebAssembly |
| jsPDF | PDF generation for the print layout |
| RxJS | Reactive state management |
npm install
ng serve # dev server at http://localhost:4200
ng build # production build → dist/