TikTok Transcript Generator
Turn a TikTok video into text, SRT or VTT subtitles — with timestamps. Everything runs on this device; your file is never uploaded.
Drop a video or audio file here
or
MP4 · MOV · WEBM · MP3 · WAV · M4A · OGG · AAC · FLAC — any video or audio, not just TikTok
Download the video, then . It's the same two taps, and nothing gets uploaded.
Preparing…
What this tool does
This is a TikTok transcript generator, and also a general TikTok video to text converter. It reads the spoken audio in a video or audio file and writes it out as plain text with timestamps. From the same transcript you can export SRT or VTT subtitle files, ready to drop into a video editor or a platform's caption box.
It is not limited to TikTok. Any video or audio file your browser can decode works — TikTok video transcription, a screen recording, a podcast episode, a voice memo. The engine is OpenAI's Whisper, running locally through WebAssembly.
How to generate a TikTok transcript
- Get the file. In the TikTok app, tap Share, then Save video — or use whatever way you normally keep the clip. Any video or audio file on this device works.
- Drop it in. Drag it onto the drop area above, or pick the model you want and hit Transcribe.
- Read or export. Copy the text, or switch to SRT or VTT and download it.
Why the link box doesn't fetch the video
Several tools accept a TikTok URL and return a transcript. They can do that because they run a server: the server downloads the video for you, then transcribes it. This page deliberately has no server — that is the whole point. A URL box that looks like it fetches, but quietly sends your link to someone's backend, would be worse than an honest explanation. So the link box tells you the truth and points you at the file drop.
The trade-off is real and worth stating plainly: you have one extra step (saving the video), and in exchange your file never leaves this device. No upload, no queue, no retention policy to read.
Where a TikTok transcript comes from
The word caption points at three different things on a TikTok, and which one a tool reads decides what you get back. There is the description written under the post. There is timed text that sits over the picture. And there is the voice on the soundtrack, which is neither of the other two. They are not the same document: a description written afterwards, a caption that was translated or trimmed, and the words actually spoken can disagree with one another — and most tools do not tell you which one landed in your file.
Among the ten results served for this search on 2026-10-15, one could not be read at all (its page answers 404) and the page-two result brought in to replace it renders its text with JavaScript and came back empty. Of the nine that could be read, seven say nothing about what you get when a video has no captions. Nine of nine say nothing about words that exist only as picture — none of them contains the words burned-in, hardcoded or on-screen anywhere in its copy. The two that do address it answer in opposite directions: one tool page says in its FAQ that a transcript can still be produced for a video with no visible captions, and an app in the same top ten says the reverse out loud — that it only works on videos which already carry captions.
This page sits at the other end of that trade, and it is worth being exact about why. It never receives TikTok's text in the first place — there is no server here to fetch with, and the link box sends the link nowhere — so the only source available to it is the one you bring: the soundtrack of the file you saved.
That boundary is measured rather than asserted. A clip was built with the words zebra notebook staircase written into the video file's own title and album metadata — the place a saved clip carries text that nobody says out loud — while its soundtrack carries an ordinary spoken sentence. Transcribed on this page, the run returned 24 spoken words and not one of the three metadata words, in the plain text and in both subtitle exports. The same holds for text painted onto the picture: a vertical clip whose frames carry three nonsense words came back with the spoken sentence and none of them, and the same audio submitted with no picture attached produced text identical character for character.
Two things follow, and both are worth knowing before you rely on a transcript. A TikTok with no captions transcribes exactly like one with them, because captions were never the input. And where a caption disagrees with the voice — a translated caption, a written description, a title card — this page gives you the spoken words; the text you can see is something to proofread against, not the source.
Supported input formats
Anything your browser can decode. In practice that means the common containers: MP4, MOV, WEBM, MP3, WAV, M4A, OGG, AAC, FLAC. That list is not a filter this page applies — it is a description of what browsers already decode. A container your browser cannot read fails here the same way it fails anywhere else, and the page says so in words instead of handing back an empty box. Video files are the normal case — audio is extracted in the browser before transcription.
Supported languages
Multilingual models (whisper-tiny, whisper-base, whisper-small) auto-detect the spoken language and transcribe in it. That is decided one pause-delimited piece at a time rather than once for the file, so a recording that changes language partway through is not written down in both — the measurement is on the podcast page. Whisper's published language list covers 99 languages. The whisper-tiny.en model is English-only.
Source for the 99-language figure: the Whisper model card published by OpenAI (openai/whisper on Hugging Face), which lists the supported languages and their language codes. Common ones include English, Spanish, French, German, Portuguese, Italian, Japanese, Korean, Chinese, Arabic, Hindi, Russian, Turkish, Vietnamese, Thai and Indonesian.
Accuracy
This page does not print an accuracy percentage. Whisper's word error rate depends heavily on audio quality, accent, background music and speaking speed, so a single headline number would be marketing rather than information. What can be said precisely: the models offered here are the official Whisper checkpoints converted to ONNX by the Xenova project — tiny, base and small — and larger models are generally more accurate. If a transcript matters, use small.
FAQ
Is anything uploaded to a server?
No. The file is read and decoded in the browser, and the Whisper model runs in the browser via WebAssembly. There is no backend to upload to, and nothing about your file is sent anywhere. Four things cross the network: the one-time download of the model weights, a small cookieless page-view count sent to Cloudflare Web Analytics, the Google Analytics script, and the visit reports that script sends to Google. The privacy policy lists exactly what each of them is.
Why is the first run slow?
The model weights are fetched once and cached by the browser. whisper-tiny is the smallest; whisper-small is much larger and noticeably slower, especially on a low-memory machine. After the first run, the cached model loads quickly.
Can I paste a TikTok link instead?
You can paste one, and the box will tell you what to do next — but this page will not fetch the video, because it has no server to do that with. Save the video and drop the file in.
Where does the transcript come from if the TikTok has no captions?
From the soundtrack, which is the only thing this page reads. It never receives TikTok's text at all — there is no server here to fetch with, and the link box sends the link nowhere — so a video with no captions transcribes exactly like one with them. That was checked rather than assumed: a clip whose file metadata carried three words nobody speaks came back with the 24 spoken words and none of the three, in the plain text and in both subtitle exports.
Does the text written under the video end up in the transcript?
No. A post description lives with the post, not in the file you save, and a saved video's own text metadata is not read either. Measured on this site: a clip carrying the words zebra notebook staircase in its title and album metadata, with an ordinary spoken sentence on the soundtrack, came back as 24 spoken words and not one of the three — the same for the TXT, SRT and VTT exports. What you get is what was said.
Does it work on a phone?
The layout adapts down to phone widths. Be aware that running Whisper in a mobile browser is heavy — on a phone, prefer whisper-tiny and short clips.
What are TXT, SRT and VTT?
TXT is plain text with timestamps at the start of each line. SRT is numbered cues with a start and end time on each and a comma before the milliseconds; VTT is the same cues without the numbers and a dot before the milliseconds. Both are standard subtitle formats, and that they read outside this site was checked rather than assumed: the exported SRT and VTT were handed to four independent subtitle consumers — three parser libraries and ffmpeg — and each read back every cue, with a round trip through ffmpeg keeping every word.
Is there a file size limit?
No limit is imposed by this page. The practical ceiling is your device's memory — transcription loads the whole audio into memory, so very long recordings on a low-memory machine may fail. Splitting the file is the usual fix — and where the cut lands decides whether anything is lost: measured on this site's tool, one 29-second recording cut in two at a real pause came back as the same 94 words as the single run, while the same recording cut at an arbitrary second left the two words under the cut out of both halves. Cut at a pause, not at a second.
Privacy
Nothing you drop here is transmitted anywhere, and there is no account to create. Two tools count the visit: Cloudflare Web Analytics, which sets no cookies and does not fingerprint visitors, and Google Analytics, which stores _ga and _ga_KJ155PR9B7 in this browser for two years. The privacy policy says exactly what each one records. Close the tab and the file is gone.
Working with Instagram Reels, YouTube videos and audio files too
If the clip came from Instagram rather than TikTok, the same engine is set up for it on a dedicated page: the Instagram transcript generator handles Instagram Reel transcript and Instagram video to text the same way — in-browser, no upload.
For longer video there is the YouTube video transcript generator, which turns a video file into text, SRT or VTT with the same engine. Like this page it has no server, so it takes a file you already have rather than a link — that page explains the trade-off in full.
Audio with no video attached has a page of its own: the MP3 to text converter takes an MP3, a WAV or a voice memo directly and returns the same timestamped text, SRT and VTT, decoded in the browser.