Skip to the tool
CaptionSuiteCaptionSuite home

Guides

Transcribing audio and video with no internet connection

Updated

The only network dependency here is the speech model, and it only needs one the first time. It downloads once from Hugging Face, your browser's Cache Storage keeps the 45MB or 80MB of weights, and every transcription or caption burn-in after that reads the cached copy rather than fetching anything. Switch off Wi-Fi once the model has finished downloading, and the rest of the work, including a two-hour recording, runs exactly the same with nothing left to send.

What actually needs a connection, and what doesn't

Two different things happen over the network here, and only one of them repeats. Loading the page is an ordinary web request, the same as any site. Loading the speech model is a one-time download of 45MB or 80MB depending on which size you pick, and it is the only large transfer the tool ever makes.

Your recording is never one of those transfers. It is read off your disk and handed to a Whisper model running in a Web Worker on your own machine, so there is nothing about the file itself that depends on a connection existing at all, online or offline.

The model, once downloaded, is kept in the browser's Cache Storage rather than refetched on every visit. That is the mechanism that makes going offline afterwards possible: the weights are already sitting on your disk, inside the browser's own storage, and loading them does not care whether the network is up.

Who this is actually for

The obvious case is a flight or a ship, but the more common one is cheaper: a rural connection, a metered mobile data plan where every megabyte has a price, or a site that blocks outbound connections on purpose, which overlaps with the reasons a recording needs to stay private in the first place.

A field researcher, a journalist working somewhere with no reliable signal, or someone who simply wants to transcribe on a train without burning through a data allowance all hit the same wall with a hosted tool: no connection means no upload, which means no transcript. That wall does not exist once the model is already on your machine.

Setting it up before you need it

This only works if the model is cached before the connection goes away, so do the priming step while you still have one.

  • Visit the site with a working connection and drop in any short file, even a few seconds long
  • Press Transcribe once. That is what triggers the download, and the progress bar is tracking megabytes of model, not your file
  • Check the storage panel in the footer. It lists exactly what is cached and how large it is, read from the cache itself rather than claimed
  • If you plan to use speaker identification offline too, switch it on during this same priming session, since it downloads two more models, about 33MB together, the first time it runs
  • After that, disconnect and try transcribing something else. If it works with the network off, it will work the same way on the plane

What still needs a connection, stated plainly

The first visit obviously needs one, to fetch the page and then the model. There is no way around that and no reason to pretend otherwise.

There is no installed app or service worker behind this, which matters for one honest reason: the page's own code is cached the way any website's files are cached by a browser, not with the stronger guarantee an installed app gets. The model survives in Cache Storage specifically and deliberately, but clearing your browser's site data, using a private or incognito window, or switching to a different browser or device all throw the cache away and the next visit downloads the model again. Prime the cache in the same browser profile you will actually use offline, and do it a reasonable amount of time before you need it rather than the night before a trip when you might reset something by accident.