Skip to main content

TikTok to Text

Third-party service

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.

Output

Video
Transcript
Details

The video's details will appear here.

Was this helpful?

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_HERE

Paste this at any agent connected to the IOTools MCP server, then add your input.

Cost per API/MCP callFrom 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.

tiktok transcriptvideo to textsubtitlescaptionssrtvttclosed captionstranscribe videodownload subtitlestiktok subtitlestiktok captionsvideo transcriptiontiktok caption downloader

Love the tools? Lose the ads.

One payment clears every ad from your account, for good. No subscription, no tracking.