Skip to content

Repository files navigation

QuickToolbox

CI

Live demo: quicktoolbox.onrender.com

Free, browser-based image, PDF, and dev tools — no signup, no upload limits beyond fair use. The image/PDF operations are also available as a standalone CLI for local batch processing.

Features

🖼 Image

Operation Description
compress Convert PNG/JPG → WebP or AVIF
resize Resize with fit modes (inside, cover/crop, contain, fill)
rotate Rotate by angle or auto-orient via EXIF
grayscale Convert to black & white
watermark Overlay text with configurable position and opacity
strip-metadata Remove EXIF/GPS/ICC data
blur Generate base64 blur placeholders for next/image
report Analyze image sizes, dimensions and WebP savings estimate

📄 PDF

Operation Description
pdf-merge Merge multiple PDFs into one
pdf-split Split a PDF into one file per page (ZIP)
pdf-extract Extract specific pages into a new PDF
img-to-pdf Convert one or more images into a PDF
pdf-to-img Render PDF pages as PNG images (ZIP)

🛠 Dev Tools

Tool Description
JSON Formatter Format and validate JSON, entirely client-side
Base64 Encode/Decode Encode/decode text to/from Base64
UUID Generator Generate one or many v4 UUIDs
Timestamp Converter Unix timestamp ↔ human-readable date
Color Converter Convert between HEX/RGB/HSL with a live swatch
Regex Tester Test a regex against sample text, matches highlighted
Markdown Preview Live Markdown → HTML preview, side by side
URL Encoder/Decoder Percent-encode/decode URL components
Word Counter Live word, character, and line counts

🧪 Generators

Tool Description
CPF Generator Random CPF with a valid check digit — test data, not a real document
CNPJ Generator Random CNPJ with a valid check digit — test data, not a real document
CPF/CNPJ Validator Checks whether a CPF/CNPJ's check digit is valid
Credit Card Generator Luhn-valid test card number (Visa/Mastercard/Amex) — no real account behind it
Password Generator Configurable length and character sets
Hash Generator MD5, SHA-1, SHA-256, SHA-384, or SHA-512 of any text
Lorem Ipsum Placeholder text generator

🔁 Converters

Tool Description
Unit Converter Length, weight, temperature
Number Base Converter Binary/octal/decimal/hex
Case Converter camelCase/PascalCase/snake_case/kebab-case
Slugify Text → URL-safe slug

All Dev Tools, Generators, and Converters run 100% in the browser — no file or text is ever sent to the server.

Setup

npm install

Web UI

npm start
# → http://localhost:3001

Every tool lives at its own URL under /tools/<slug>/, generated at boot from templates/ + src/catalog/tools.mjs. Image/PDF tools upload a file and download the result; Dev Tools process everything client-side.

CLI

node index.mjs <command> <dir> [options]

compress

node index.mjs compress ./public/images
node index.mjs compress ./public/images --format=avif --quality=75
node index.mjs compress ./public/images --update-content=./src/content --delete-originals
Option Default Description
--format=webp|avif webp Output format
--quality=N 82 Quality (1–100)
--width=N 1920 Max width (preserves ratio)
--update-content=<dir> — Update .png→.webp paths in .ts files
--delete-originals — Delete originals after converting

blur

node index.mjs blur ./public/images
node index.mjs blur ./public/images --output=blur-map.json

Generates a blur-map.json for use with next/image:

import blurMap from "@/blur-map.json";

<Image
  src="/images/banner.webp"
  blurDataURL={blurMap["/images/banner.webp"]}
  placeholder="blur"
/>

report

node index.mjs report ./public/images

Lists all images with size, dimensions, and estimated WebP savings. Warns on files above 500KB.

Stack

  • sharp — image processing
  • pdf-lib — PDF manipulation
  • pdfjs-dist + @napi-rs/canvas — PDF rendering to image (ships prebuilt native bindings, no system packages like poppler/imagemagick needed)
  • Express + Multer — web server
  • JSZip — ZIP output for multi-file results

Project Structure

src/
├── core/     # Pure functions (buffer → buffer) for image/PDF ops, shared by CLI and web
├── cli/      # Directory adapters for CLI usage
├── web/      # Express routes (upload endpoints for image/PDF ops)
├── tools/    # Pure logic for client-side dev tools (input → output, no I/O)
└── catalog/  # tools.mjs — single source of truth for nav, home page, sitemap
templates/
├── partials/ # layout/header/footer shared by every generated page
└── tools/    # per-tool content (H1, intro copy, form markup, inline script)
public/
├── shared/   # shared CSS + upload-widget.mjs, served as-is
└── tools/    # generated at boot by scripts/build-pages.mjs — not committed
scripts/
└── build-pages.mjs  # generates public/index.html + public/tools/<slug>/
index.mjs     # CLI entry point
server.mjs    # Web entry point

License

MIT

About

QuickToolbox - 33 free browser-based image, PDF and dev tools, no signup

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages