Use it here: https://thisbejim.github.io/formfit/
FormFit makes photos and signatures upload-ready for online forms. Enter the rules printed on a portal—file format, pixel dimensions, and a KB limit—then process images locally and inspect a pass/fail checklist before downloading.
Application portals often reject a perfectly good-looking photo because it is a few pixels too wide, uses the wrong format, or exceeds a tiny file-size limit. The usual workaround is a sequence of ad-heavy upload sites or repeated manual edits in Paint. FormFit puts the whole fit-and-check workflow in one calm, private page.
- Exact width and height, with either a full-image fit or an even crop to fill.
- JPEG, PNG, and WebP output with a quality control for lossy formats.
- Automatic quality search and progressive downscaling when a maximum KB limit is set.
- Optional minimum KB check, so ranges are visible instead of silently guessed.
- Multiple-image batches with queue thumbnails, safe output filenames, previews, individual downloads, and a download-all action.
- A locally generated sample image, so you can try the workflow without selecting a personal file.
- Copyable settings links and local settings persistence; no image data is saved.
- Readable output checks for format, bytes, width, and height.
Processing happens entirely in your browser using the File, Canvas, and Blob APIs. Images are never uploaded, stored, logged, or sent to an API. FormFit has no account, analytics, advertising, tracking, watermark, or payment flow. The only persisted data is the non-sensitive settings you choose in localStorage.
npm ci
npm run devOpen the local URL Vite prints. The build uses relative asset paths so it works beneath the /formfit/ GitHub Pages project path.
npm test
npm run buildThe test suite covers proportional and exact pixel math, contain/crop geometry, byte-boundary checks, minimum-size warnings, filename safety, and formatting helpers.
The production build is generated into docs/ with npm run build. GitHub Pages serves the main branch /docs directory, so the published site is ordinary static HTML, CSS, JavaScript, and image assets with no runtime service.
MIT. See LICENSE.