Skip to content
Transcodrv0.21.4
ConvertAboutChangelogPrivacy
ffmpeg.wasm · 0.12.10
On-device · No upload · No account

Privacy

Transcodr converts your files entirely inside your browser using ffmpeg compiled to WebAssembly. Your media is never uploaded. This page describes exactly what that means and the few requests the app does make.

Last updated 28 May 2026

Your files never leave your device

Every conversion runs locally. When you add a file, it is read into memory and processed by the ffmpeg WebAssembly engine inside your browser tab. The input, the output, and everything in between stay on your machine. Nothing is sent to a server, because there is no server doing the work.

There is no upload step to opt out of, no temporary copy held remotely, and no account that could tie a file to you. Closing the tab discards everything.

What is stored on your device

Transcodr keeps a small set of preferences in your browser's localStorage, purely so the interface remembers how you like it:

  • transcodr.theme — dark or light appearance.
  • transcodr.density — roomy or compact spacing.

That is the entire list. No file contents, no filenames, and no conversion history are written to storage. The session's history table lives in memory only and is gone when you reload. You can clear these preferences any time through your browser's site-data controls.

Analytics

Transcodr uses Google Analytics to understand aggregate usage — which conversions are popular, roughly how many people visit, and which pages they land on. To measure that, the app records anonymous events as you use the converter: a file being added, a conversion starting, completing or failing, and a download. Those events carry only the shape of the conversion — the input and output format (e.g. mov → mp4), a coarse file-size band, a coarse duration band, and, on failure, an error category.

What is never sent is the thing that matters: no file content and no filename ever reaches Google, because conversion happens entirely in your browser and never touches a server. The size and duration bands are deliberately broad (for example “1–5 MB”) so they describe usage in aggregate, not your specific file.

Google Analytics sets its own cookies (such as _ga) to count returning visits. There is no advertising and no cross-site ad tracking. You can opt out with the Google Analytics opt-out add-on, by blocking the domain, or via your browser's tracking-protection and cookie controls.

Fonts are served from this domain, so rendering the page does not call out to a third-party font host.

The requests the app does make

A few things involve a network, and none of them carries your media:

  • The ffmpeg engine. The first time you convert, the ffmpeg core (around 32 MB of WebAssembly, worker, and JavaScript) is downloaded from the jsdelivr.net public CDN, then cached. Like any download, that request tells the CDN your IP address and that you fetched the ffmpeg core. It never includes your files or any conversion data.
  • Hosting. This site is served as static files through Cloudflare. As the host, Cloudflare may process standard request logs (such as IP address and page requested) to deliver the page and protect the service. Because conversion happens in your browser, no file ever reaches the host.
  • Analytics. Google Analytics loads gtag.js from Google and sends anonymous, aggregate page-usage events (see the section above). It carries no file data.

Changes

If this policy changes, the date above is updated. Material changes will be noted on the changelog.