How it works

Real processing, in your browser.

FormatOnce has no upload endpoint. Each tool uses browser APIs that already exist on your device, which is why results appear instantly and your content never travels.

Images

Your image is decoded by the browser, drawn onto a canvas at the size we calculated, and re-encoded. For a size target we binary-search encoder quality and then scale the image down step by step, checking the real encoded byte size each time. If no combination fits, you get a clear failure rather than an oversized file. Re-encoding removes metadata, and JPG output flattens transparency onto white because JPG has no alpha channel.

CSV

CSV is parsed with a full parser that understands quoted delimiters, doubled quotes and newlines inside fields. Delimiters are detected by counting candidates outside quoted sections, and you can override both the delimiter and the encoding (UTF-8 or Windows-1252). Values are never type-guessed, so leading zeros and long IDs survive. Export adds a UTF-8 byte order mark so Excel reads accents correctly.

JSON

Validation and formatting use a lossless parser, so numbers keep their exact digits instead of being rounded to what a JavaScript number can hold. Parse errors report the character position with its line and column where the browser provides one.

SVG

SVG is scanned against a strict allowlist before anything is rendered. Scripts, event handlers, foreignObject, CSS @import, url() references to remote files and any href that is not a local #fragment cause a rejection with an explanation. Safe markup is sanitized, turned into a blob, and drawn through an image element onto a canvas — it is never injected into the page.

Limits, stated plainly

  • Images up to 20 MB; text, CSV, JSON and SVG up to 5 MB.
  • Image output capped at 40 megapixels; SVG rendering at 8000 px per side.
  • AVIF input works only if your browser decodes it. HEIC/HEIF is not supported.
  • Very large files depend on your device's memory, not on a server.
Back to the tools