A collection of small, self-contained web tools that run entirely in the browser. No file is ever uploaded to a server — all processing happens client-side.
Live site: tools.florianabry.me
| Tool | Description |
|---|---|
| Images to PDF | Combine images into a single PDF. Drag to reorder, choose A4/Letter or fit-to-image page size. |
| PDF to Images | Export each page of a PDF as PNG or JPG. Resolution slider (72–300 DPI), downloaded as ZIP. |
| Reorder & Delete Pages | Drag-and-drop page thumbnail grid to reorder or remove pages, then download the result. |
| Merge PDFs | Combine multiple PDF files into one in any order. |
| Tool | Description |
|---|---|
| QR Code Generator | Generate a customizable QR code — dot style, corner color, background, center logo, PNG/SVG export. |
| QR Code Reader | Upload an image containing a QR code to decode it. |
| Tool | Description |
|---|---|
| Excel Viewer / Editor | Open, view and edit .xlsx files in your browser, then download the result. |
| Excel to CSV | Convert any sheet of an Excel file to a .csv download. |
| Tool | Description |
|---|---|
| Examiner Tracker | Track productivity and goals as a parent examiner. Data stored in your Google Drive via OAuth — no server. |
- Astro — static site generator, output: pure HTML/CSS/JS
- Tailwind CSS v4 + DaisyUI v5 — styling and components
- pdf-lib — create, merge, reorder PDFs
- PDF.js — render PDF pages to canvas (with Web Worker)
- JSZip — bundle image exports into ZIP
- qr-code-styling — QR code generation with styling
- jsQR — QR code decoding
All tools process data entirely in the browser. Files are never uploaded to any server. PDF and image processing runs locally using JavaScript and WebAssembly.
npm install # Install dependencies
npm run dev # Start dev server at http://localhost:4321
npm run build # Build to ./dist/
npm run preview # Preview production build locallyPushing to main triggers a GitHub Actions workflow that builds the site and deploys ./dist/ to OVH static hosting via FTP.
Required repository secrets: PROD_HOST, PROD_USER, PROD_PASS, PROD_PATH.
Found a bug or want to suggest a tool? Open an issue.