A curated suite of privacy-first web utilities for developers, creatives, and everyday users.
Live Site: linu.li
Most online tools (PDF mergers, image compressors) require you to upload your files to a remote server. This creates privacy risks and data compliance issues.
This Toolbox is different.
- No Server Uploads: All processing happens locally in your browser using WebAssembly and JavaScript.
- No Tracking: No analytics, no ads, no cookies.
- Offline Capable: Installs as a PWA and works without an internet connection.
- PDF Merger: Combine multiple documents with drag-and-drop reordering.
- PDF Splitter: Explode documents or extract specific page ranges.
- Asset Extractor: Scrape high-res images embedded inside PDFs.
- PDF 2-Up: Arrange pages side-by-side (booklet mode).
- Grayscale Converter: Rasterize pages to black & white for printing.
- Watermarker: Stamp text overlays on documents.
- Smart Compressor: Intelligent WebP/AVIF compression via WebAssembly.
- Bulk Resizer: Resize batches of images while maintaining aspect ratio.
- Social Cropper: Crop and mask for social media (16:9, 4:5, Circle).
- EXIF Scrubber: View and strip hidden metadata (GPS, Camera settings).
- Favicon Creator: Generate
.icoand.pngicons from text or images. - SVG Rasterizer: Convert vector files to high-res PNGs.
- Word Counter: Deep analysis with reading time estimation.
- Diff Checker: Compare text/code to find changes.
- Markdown Live: Editor with instant preview and HTML export.
- List Cleaner: Deduplicate, sort, randomize, and trim lists.
- Case Converter: Title Case, camelCase, snake_case, etc.
- Lorem Generator: Generate text in Latin, Tech-babble, or Corporate-speak.
- JSON Workbench: Validate, repair, minify, and view JSON as a tree.
- SQL Prettifier: Format messy SQL queries.
- JWT Debugger: Decode tokens to inspect headers/payloads.
- URL Tools: Encode/Decode and strip tracking parameters (UTM, fbclid).
- Base64 Converter: File-to-Base64 and Text-to-Base64.
- Epoch Converter: Unix timestamp translation.
- Password Gen: Cryptographically strong, client-side generation.
- QR Creator: WiFi, vCard, and URL codes.
- Unit Converter: Length, Weight, Temp, Speed, and Data storage.
- Hash Generator: Calculate SHA-256, MD5, and SHA-512.
- Aspect Ratio: Calculate dimensions for video/images.
- Color Tools: Picker, converter, and WCAG contrast checker.
This project is built with Vanilla HTML, CSS, and JavaScript. No build steps (like Webpack or Vite) are required to run it, making it extremely lightweight and easy to host.
Key Libraries:
- PDF Manipulation:
pdf-lib,pdf.js,jspdf - Image Processing:
cropperjs,piexifjs - Time/Date:
dayjs - Code/Text:
marked(Markdown),sql-formatter,json5,jsdiff - Crypto: Native Web Crypto API +
crypto-js(legacy support)
-
Clone the repository:
git clone https://github.com/linuslinhof/toolbox.git cd toolbox -
Run a local server: Because the project uses ES Modules and Service Workers, it must be served over HTTP, not
file://.# Python 3 python -m http.server 8000 # OR Node.js npx serve .
-
Open in browser: Go to
http://localhost:8000
This project uses GitHub Actions to automatically deploy to All-Inkl hosting via FTP/FTPS.
- The workflow is defined in
.github/workflows/deploy.yml. - On every
pushto themainbranch, the action triggers. - It uses
SamKirkland/FTP-Deploy-Actionto sync only changed files to the server.
If you want to deploy this to your own FTP server:
- Go to repository Settings > Secrets and variables > Actions.
- Add a new secret named
FTP_PASSWORD. - Update the
serverandusernamefields in.github/workflows/deploy.yml.
/
├── assets/
│ ├── css/ # Global styles and variables
│ ├── js/ # Layout logic, PWA registration
│ └── fonts/ # Self-hosted fonts
├── tools/ # One folder per tool (index.html within each)
├── index.html # Main dashboard
├── sw.js # Service Worker for offline support
└── manifest.json # PWA Manifest
This project is open source and available under the GNU GPL v3 License.