Skip to content
TinyTools

About TinyTools

TinyTools is a growing collection of small, focused utilities for the file jobs that come up constantly — a PDF that is too big to email, a photo in the wrong format, a JSON response that needs untangling.

Each tool does one thing, without an account, an install, or a subscription. There are currently 51 of them, and more are being added.

Your files stay on your device

This is the part worth understanding, because it is unusual. Most online file tools upload your document to a server, process it there, and send it back. TinyTools does the work inside your browser instead, using the same capabilities that let a web page display an image or render a PDF.

That means your files are never transmitted anywhere, never written to a server, and never held on to. It also means the tools keep working on a slow connection, and results appear as fast as your device can handle them.

What that trade-off costs

Being honest about the limits: because everything runs on your own device, very large files are constrained by your available memory, and an older phone will be slower than a desktop computer. The video tools need WebCodecs, which every current browser has but older ones do not, and they say so rather than failing part-way through an encode.

There is also one thing browsers cannot do at all: none of them can create an MP3. Their built-in encoders handle AAC and Opus only. So the MP3 tools carry a real encoder with them, downloaded the first time you use one, rather than quietly handing back a different format.

Built on other people's work

The tools lean on several open-source projects: pdf.js and pdf-lib for PDFs, Mediabunny for reading and writing video, gifenc for GIFs, and fflate for zip files.

MP3 encoding uses LAME, by way of the lamejs port, and HEIC photos are read with libheif, by way of heic-to. Both are licensed under the LGPL. Each is loaded as its own separate file rather than being merged into the rest of the site, so it remains replaceable, and its licence terms are unchanged by being used here.