TapeText

Transcribe audio without uploading it

TapeText runs the speech model inside your browser, so the recording is never sent to a server. You open the file, the words appear, and the audio stays on your machine the whole time. That is what makes it usable for material you are contractually or legally not allowed to upload.

Almost every transcription service works the same way: you upload the file, their servers transcribe it, and you download the text. That is a reasonable design, and it is the one thing a great many people cannot do. An NDA, a source agreement, a patient record, an embargoed recording, a firm policy that says client material does not go to third-party processors: any one of them ends the conversation before the free trial does.

The usual advice at that point is to install something. Whisper on the command line, or one of the desktop wrappers around it. That works, and it assumes you can install software on the machine you are using, which someone on a locked-down work laptop cannot.

This page is the third option: the model is downloaded to your browser and runs there. No upload, and nothing to install.

Open the transcriber

How it goes

  1. 1

    Open the recording

    Drop in an MP3, WAV, M4A, FLAC, OGG, MP4, MOV or WebM file. It is read from disk by the page, the way an image is read before you crop it, and the browser never sends it anywhere.

  2. 2

    Wait once for the model

    The first run downloads the speech model, 41 to 146 MB depending on the model and your hardware. That download is the only moment a connection is needed. It is cached afterwards, so the second file starts immediately, and works with the network off.

  3. 3

    Correct and export

    Words are timed individually, so clicking one moves the playhead to it. Fix what the model misheard, label the speakers, then export SRT, VTT, plain text or timecoded Markdown.

How to verify the claim rather than take our word for it

A tool promising it does not upload your file is making a claim you cannot see. Here is how to check it, in about thirty seconds, with tools already in your browser.

Open the developer tools before you start (F12, or Cmd-Option-I on a Mac) and switch to the Network tab. Load a recording and transcribe it. You will see requests for the page itself, and on a first visit a long run of requests to /models/ and /ort/, which are the speech model and the runtime being fetched *to* your machine. What you will not see, at any point, is a request carrying your file. There is no upload, no multipart body, no POST with your audio in it.

Then do the stronger version of the test: transcribe one short file so the model is cached, turn off your wifi, reload the page and transcribe another. It works. A tool that was quietly sending audio somewhere could not do that, and no amount of privacy copy is as convincing as watching it run with the network down.

The site enforces it on its own side too. Its Content-Security-Policy is set to `default-src 'self'`, which instructs your browser to refuse any connection to another host, so even a mistake in our code could not send your recording somewhere, because the browser would block it before it left.

Questions

Is the recording really never uploaded?
Yes. The speech model is downloaded to your browser and runs there. You can confirm it by opening the Network tab of your developer tools, or by transcribing a second file with your connection turned off: once the model is cached, the tool works offline.
What does leave my computer, then?
The page itself, the speech model on first use, and anonymous page-view counts. No file, no transcript, no filename and no account, because there are no accounts.
Is there a file size or length limit?
No limit is imposed. The practical ceiling is your own machine: audio is processed in blocks so length does not grow memory, and multi-hour files are the case the design is built around.
Can I use this for material covered by an NDA?
That is the situation it is built for, but the judgement is yours and your organisation's. What we can state precisely is the technical fact: the audio is processed by your browser on your device and is not transmitted. Whether that satisfies a particular agreement or policy is a question for whoever wrote it.