HexaConverter

File conversion without the friction

Most online converters make you trade privacy, quality or patience for convenience. HexaConverter was built to avoid all three trades: real encoders on the server, honest limits, and files that disappear when the job is done.

How we build it

Delete by default

Source files are removed the moment a conversion finishes and outputs expire on a schedule. Retention is a property of the system, not a promise in a policy document.

Say what actually happened

When a conversion fails, the message explains why — a password-protected document, an unsupported codec, a corrupt archive. No silent retries that quietly produce the wrong file.

Use the right encoder

libvips for images, ffmpeg for media, LibreOffice for office documents, Poppler for PDF rendering. Mature tools, sensible defaults, and controls when defaults are not enough.

No dark patterns

No watermarks on free output, no artificial waiting screens, no upsell interstitial between you and your file.

What runs underneath

Uploads stream directly into object storage and are identified by their magic bytes before anything else happens. A conversion becomes a queued job in PostgreSQL, claimed atomically by a worker so the same file is never processed twice, and progress is reported from the encoder itself rather than estimated. 270 conversion routes are declared in one registry that drives the interface, the API and the validation layer alike — so an unsupported combination cannot be requested through any surface.

Read the privacy policy for exactly what is stored and for how long, or the FAQ for the practical details.