TikTok to Text
Turn a TikTok video into text — paste the link and get its caption track as clean prose, timestamped lines, or a downloadable SRT/VTT file.
Input
Works with tiktok.com, m.tiktok.com, vm.tiktok.com/vt.tiktok.com short links, or a bare video ID.
Which existing caption track to read, if the video has more than one. Leave blank to use whichever is available, preferring a creator-written track over an auto-generated or translated one.
Output
The video's details will appear here.
More ways to use this tool
REST API
curl -X POST https://api.iotools.cloud/v1/tool/tiktok-to-text \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"videoUrl": "https://www.tiktok.com/@bbcnews/video/7687634075…",
"format": "paragraphs"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `tiktok-to-text` tool (TikTok to Text) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.
| Cost per API/MCP call | From 9 credits |
|---|---|
| Free-plan API/MCP cap^ | 135 credits/month |
| Need more credits? | View pricing |
^ The most you can spend on this tool over API/MCP per month on the free plan. Buying a credit pack removes this cap, same as Builder.
Also available with
Guides
Use this responsibly. This tool only surfaces captions TikTok has already published for a video — it doesn't verify what they say, and we take no responsibility for a transcript's accuracy or for what you do with it. The video and its captions still belong to whoever made them; using the output is your call to make against copyright law and TikTok's own Terms of Service, the same as if you'd transcribed the video yourself by hand.
What this tool does
Paste a TikTok link, get its caption track back as text. This pulls whatever caption file TikTok already has for the video — the same one behind its own CC button — and turns it into readable prose, timestamped lines, or a downloadable SRT/WebVTT file. No sign-in, no extension, no audio processed.
Works with tiktok.com/@user/video/... links, m.tiktok.com links,
vm.tiktok.com/vt.tiktok.com short links, tiktok.com/t/... short links, or
a bare video ID.
Caption coverage
Depends entirely on what the creator or TikTok's own auto-captioning did for that specific video. Plenty of videos — especially from news accounts and creators who care about accessibility — carry a real caption track; a lot of music-only clips with no speech carry none at all. When a video genuinely has none, you'll get a clear "no captions" message instead of a made-up transcript — this reads an existing caption track rather than listening to the audio and generating one.
Choosing an output format
- Readable paragraphs — the default. Caption fragments get stitched into real sentences and grouped into paragraphs.
- Plain text — one continuous block, no line breaks.
- Timestamped lines — every line prefixed with
[12:34], for finding the exact moment something was said. - SRT and WebVTT — real subtitle files with start/end timecodes, ready for a video editor or a re-upload.
- JSON — every cue as
{ startMs, endMs, durationMs, text }, for feeding the transcript to another script.
Using it as a TikTok transcript API
Every format above is one HTTP call away — see More ways to use this tool
below for a ready-made curl. POST a videoUrl and a format, get JSON back.
Agents can call the same tool over MCP. transcript is always a string,
whatever format you asked for; the video field carries the canonical
tiktok.com/@handle/video/... URL, rebuilt from whatever link shape you sent
in.
details is a real JSON object, not a string — { title, author, durationSeconds, trackLabel, languageName, languageCode, isAutomatic, cueCount, availableCodes }, always every key, empty rather than missing when
the video has nothing for one ("", 0, false, []). Same shape as
youtube-to-text, vimeo-to-text and dailymotion-to-text, so code written
against one reads the others unchanged.
Caption language
The Caption language code field lives under Advanced, collapsed,
because most TikTok videos have at most one caption track. Leave it blank and
the tool takes whatever's available, preferring a creator-written track over
an auto-transcribed one, and either over a machine-translated one. Enter a
code (en, es, ja) to force a specific track if the video carries more
than one — the Details panel lists every track it actually found.
What it can't do
- Videos with no captions. Common on music-only clips with no speech — see above.
- Photo posts. TikTok's Photo Mode slideshows have no video track and so no captions; paste the video's own link instead.
- Private or region-locked videos. TikTok won't serve those to an anonymous request at all.
Good uses for a transcript
Pull the words out of a talk, tutorial or news clip without re-watching it. Search a longer video for the part you remember. Get a re-upload's caption file without re-typing it from scratch. Feed a video's real content into a summarizer.
Common questions
How do I get a TikTok video's captions? Paste the link at the top of this
page and press the button. tiktok.com, m.tiktok.com, and vm.tiktok.com/
vt.tiktok.com short links all work, and so does a bare video ID.
Why does it say this video has no captions? Because it genuinely doesn't have any — plenty of TikToks, especially music-only clips, never get one. This reads an existing caption track rather than generating one from audio.
Can I download the result as a subtitle file? Yes — pick SRT or WebVTT and use the download button on the result.
Is there a free TikTok transcript API? Yes — see Using it as a TikTok transcript API above. It draws from your account's normal credit allowance.
Does it work on short links? Yes — vm.tiktok.com, vt.tiktok.com and
tiktok.com/t/... links all resolve to the video automatically.
Related tools
- YouTube to Text — the same idea for YouTube.
- Vimeo to Text — the same idea for Vimeo.
- Dailymotion to Text — the same idea for Dailymotion.
- Text Summarizer — condense the transcript once you have it.