Accepted link shapes
A canonical post URL looks like <bdi>https://www.tiktok.com/@handle/video/1234567890123456789</bdi>. The handle is optional for parsing; the numeric post ID is what identifies the video. A query string after the ID is fine and is ignored.
Short links look like <bdi>https://vm.tiktok.com/ZMabc123/</bdi> or <bdi>https://vt.tiktok.com/ZSabc123/</bdi>. They redirect to the canonical post, and we follow the redirect within TikTok's own hosts. Short links can expire; if one fails, copy a fresh link from the post.
The mobile form <bdi>https://m.tiktok.com/v/1234567890123456789.html</bdi> is accepted as well. The <bdi>www.</bdi> and bare-domain forms are equivalent. A URL copied from a desktop browser works exactly like one copied from the app.
Share text is accepted. If the clipboard contains “Check out this video” followed by a URL, we extract the URL. You do not have to trim the message before pasting.
Rejected links and why
A profile URL (<bdi>tiktok.com/@handle</bdi>) points at a person, not a video. There is no video stream attached, so there is nothing to download. Open a post from the profile first.
A sound page (<bdi>tiktok.com/music/…</bdi>) is a catalogue entry. It may list videos that use the sound, but it is not itself a media post. Open a specific video and use that link.
A hashtag page, a search page and a playlist are collections, not posts. They have no single file. The tool does not crawl a collection.
A story link is a different product with a different lifetime. The tool does not download stories, even when the story is public.
A Douyin link is not a TikTok link. It is a different service with different media and different rules, and it is rejected rather than guessed at.
A private, friends-only, deleted or region-locked post may look valid but have no reachable media for a logged-out visitor. The card reports this as unavailable rather than pretending the link shape was wrong.
A note on short links
Short links are convenient and fragile. They are case-sensitive after the domain, they can expire, and a trailing punctuation mark from a chat message will break them. If you are debugging a failed link, paste the canonical URL from the post page instead of editing the short one.
We follow at most four redirects and only within TikTok's own hosts. A short link that redirects somewhere else is rejected. That is an SSRF guard, not a limitation of convenience.
FAQ
- Can I paste the whole share message?
- Yes. The URL is extracted from the text, so the surrounding caption does not matter.
- Do share links from the app expire?
- Short links can. If one fails, copy a fresh link from the post; the canonical URL is the most durable form.
- Can I use a link with tracking parameters?
- Yes. Query parameters after the post ID are ignored for parsing.
- Why is a profile link rejected?
- A profile is not a post. It has no video stream to fetch. Open a video from the profile and copy that link.