Drop in an interview, a lecture, a voice memo, a meeting or a podcast and get a timestamped transcript you can read, search, copy and save as subtitles. Whisper runs inside this tab, on your own machine. The recording is never sent anywhere — not to us, not to anyone.
Takes MP3M4AAACWAVFLAC OGGOpusWebMMP4MOV
Gives TXTMDSRTVTTJSON
Speech recognition needs a model, and the model is too large to ship with the page. The first time you transcribe something, Steno fetches Whisper from Hugging Face — several files, and the only thing this site fetches from anywhere but itself. It carries nothing about you and nothing from your recording: it asks Hugging Face for a public model by name, and that is all. Your file is read and decoded here, in this tab, and goes nowhere.
After that the model is kept in the browser's cache, so it is not fetched again unless the browser clears that cache — and the page then works with the network switched off. The site's Content-Security-Policy names this origin and Hugging Face and nothing else, so an upload to anywhere else is refused by the browser rather than merely absent from the code.
No. The recording is decoded and transcribed inside this tab and is never sent anywhere. The only thing Steno fetches from anywhere but this site is the Whisper model, from Hugging Face, the first time you use it. That request carries nothing about you and nothing from your recording — it asks for a public model by name — and after it the model is cached and the page needs no connection at all. The site's Content-Security-Policy names this site and Hugging Face and nothing else, so an upload to anywhere else is refused by the browser rather than merely absent from the code.
It is OpenAI's Whisper, which is good but not perfect. On a clear recording of one or two people it is usually close enough to edit rather than retype. It gets worse with heavy accents, crosstalk, background noise and cheap microphones, it guesses at proper nouns and jargon, and it is known to invent text during long silences. Treat the output as a first draft and check anything that matters against the recording.
MP3, M4A, AAC, WAV, FLAC, OGG, Opus and WebM, plus the audio track of MP4 and MOV video. Each of those is decoded by a real browser — Chromium — as part of the test suite, so the list is measured rather than assumed. Decoding is the browser's own job, so the exact list shifts a little between browsers, and anything yours can play will generally work; if a file is refused, converting it to WAV or MP3 first will fix it.
Faster than the recording, on a reasonably recent computer. On the laptop Steno was built on — Apple silicon, Chrome, the Base model, 166 seconds of speech — it ran at about nine times real time on the processor and about seven times on the graphics card, which puts an hour of audio at roughly seven to nine minutes. An older machine will be slower, and a larger model slower again.
Rather than promise you a number, Steno measures its own speed on the first window of your recording and shows an estimate that updates as it goes. There is a Stop button throughout: during the model download it stops at once, and once transcription has started it finishes the window it is in and keeps everything already transcribed.
Try the graphics card first, but do not assume it wins. The measurements above are the right way round: on that machine the plain processor was the faster of the two, and it downloads roughly half as much model. Which is quicker depends on how strong the processor is relative to the graphics card, and on how big the model is — a larger model tends to favour the graphics card. Since there is no way to know from inside the page without downloading both, Steno shows you the choice and the download size for each rather than deciding on your behalf. If the graphics card fails to start, it falls back to the processor on its own.
Base is the sensible default and handles most clear recordings. Tiny is quicker and rougher, and only knows English. Small is noticeably better on accents and crosstalk and wants a graphics card. Large v3 Turbo is the best Whisper there is and a download to match. Each option shows its real download size for this browser before you commit to it — the figure differs between machines, because a graphics card gets a less-compressed build, and a card without half-precision support gets a larger one again.
Yes, once you have transcribed something at least once. A service worker keeps a copy of the site's own files from the first visit, and the first transcription fetches two more things that are then cached: the Whisper model, and about 15 MB of speech-recognition runtime from this site. After that the page opens and transcribes with the network switched off. A visit where you never transcribed anything is not enough — the model has to have been fetched.
No. Speaker diarisation in a browser is not yet good enough to be worth shipping, and a transcript labelled with the wrong speakers is worse than one with no labels at all. Steno gives you timestamped paragraphs and leaves the labelling to you.
Yes — every model except Tiny knows about a hundred of them, and the commonest are in the Language list. You do have to say which one, and that is a real limitation worth being straight about: Whisper itself can work out the language, but the library that runs it in a browser has not implemented that yet, and quietly assumes English when it is not told. Rather than offer a "detect automatically" that silently means "English", Steno asks. If your recording is in French and the box says English, you will get an English translation of it and no warning, so it is worth a glance.
It can render any language Whisper knows into English, using Whisper's own translation task — there is a checkbox for it. It cannot translate into anything other than English, because that is the only direction the model does.
None imposed by Steno. The practical ceiling is your machine's memory. Once decoded, the audio is held at roughly 2 MB a minute — about 350 MB for three hours — but opening the file needs several times that for a moment while the browser decodes it, so a very long recording wants a machine with memory to spare.
Long jobs are saved to this browser as they go, where the browser allows it, so closing the tab by accident does not lose the work; the tool says so plainly if storage is blocked. Below the tool there is a button that deletes the saved recordings and transcripts, and another that removes the downloaded model.
Yes. No account, no paid tier, no length cap, no branding on your transcript. Nothing is charged for because nothing costs anything to run: the transcription happens on your computer, not on a server. The plain text, subtitle and JSON exports contain your words and nothing else; the Markdown export adds one line noting that it is machine transcription, which you can delete.