YouTube URL Parser
Introduction
The Toollect YouTube URL Parser answers a small, daily question: what is actually in this link, and what can I safely delete before sharing it? Paste any YouTube URL and the tool splits it into its parts — video ID, start time, playlist, channel — then rebuilds it as a clean link with the tracking noise removed. No account, no API key, and zero network requests.
The problem it removes is the junk YouTube's Share button now appends to every link it produces. Copy a link to send a friend and you get ?si=…&feature=share&pp=… glued to the end — a fingerprint of your device, your sharing context, and your campaign. Paste the same link into a chat and it swallows half a line; paste it into a document and the playlist parameter silently drags readers into a whole playlist instead of the one video.
The tool runs entirely in your browser. It reads the URL with the same pattern YouTube itself uses, classifies every parameter into semantic (start time, playlist, index) or tracking (si, feature, pp, utm_*) — then reassembles the link in whatever format you want: the full watch URL, the short youtu.be link, or an embed URL for iframes. Nothing is uploaded, stored, or sent anywhere.
How It Works
Cleaning a URL is a three-step pipeline, all of it string parsing running locally.
- Route recognition — the tool matches the URL against the same patterns YouTube uses:
watch?v=,youtu.be/,/shorts/,/embed/,/live/, the legacy/v/path,/playlist,/channel/,/user/, and@handlelinks, plus a bare 11-character video ID. - Parameter classification — every query parameter is sorted into two buckets. Semantic parameters change what plays:
t=(start time),list=andindex=(playlist position). Tracking parameters only tag the link's origin:si=,feature=,pp=,ab_channel=, and theutm_*family. The tracker bucket is always discarded; the semantic bucket is kept or stripped based on your toggle. - Reconstruction — the surviving parts are joined into a clean URL in your chosen format. The separator follows each format's own convention:
&for watch URLs,?for youtu.be and embed URLs. Embed output also translates the start time fromt=tostart=, because that is the parameter the embed player actually reads.
None of this touches the network. The tool deliberately performs no requests — not even the lightweight oEmbed probe other tools use. The pasted URL is parsed, split, and rebuilt entirely in your browser, so there is nothing to leak, log, or quota.
What counts as tracking
YouTube's share flow appends a small fingerprint of how the link was copied. The tool knows each one:
si— share intent; tags the device and sharing source of the copyfeature— which button or page produced the link (for examplefeature=shareorfeature=youtu.be)pp— player parameters from the mobile share sheetab_channel— the channel of a related video attached on mobileutm_source/utm_medium/utm_campaign/utm_term/utm_content— Google Analytics campaign tags
All of them are safe to delete. They carry no playback meaning, and the tool reports each stripped name so you can see the verdict per parameter.
Use Cases
Beyond the obvious "clean this link before I send it," the parser fits into real workflows.
Content creators and everyday sharing
A link copied from the Share button carries si and feature tags from the moment you tap copy. Creators pasting their own video links into descriptions, pinned comments, and community posts get a clean URL instead of a device fingerprint — and toggling Strip playlist off for a single video keeps viewers from being pulled into a playlist context they did not ask for.
Developers and websites
Embedding video usually means hand-writing an iframe src. The parser produces the correct start= form automatically, which removes the classic t=-does-nothing-in-an-embed bug, and the Embed URL output drops straight into the snippet in Pro Tips. The same workflow scales to generated pages: feed a list of video IDs in, copy clean embed URLs out.
Data analysis and archiving
Journalists, researchers, and analysts working with link lists get two jobs done in one paste: the URL is split into structured components (ID, timestamp, playlist, channel) for logging, and the stripped-parameter list records exactly which trackers each link carried. Batch work is a series of pastes with no waiting — parsing is instant and local, so a hundred links take about as long as a hundred keystrokes.
Supported Link Formats
The input accepts every format YouTube itself produces. Each one yields a video ID — except the playlist and channel links, which are recognized as their own kind:
| Format | Example | Result |
|---|---|---|
| Standard watch | youtube.com/watch?v=dQw4w9WgXcQ |
Video ID, params |
| Short link | youtu.be/dQw4w9WgXcQ |
Video ID |
| Shorts | youtube.com/shorts/dQw4w9WgXcQ |
Video ID |
| Embedded | youtube.com/embed/dQw4w9WgXcQ |
Video ID |
| Live | youtube.com/live/dQw4w9WgXcQ |
Video ID |
| Legacy video path | youtube.com/v/dQw4w9WgXcQ |
Video ID |
| Bare ID | dQw4w9WgXcQ (11 chars) |
Video ID |
| Playlist | youtube.com/playlist?list=PL123… |
Playlist ID (linked) |
| Channel | youtube.com/@handle or /channel/ID |
Channel name |
A bare 11-character video ID — dQw4w9WgXcQ — is accepted on its own, which is handy when you are pulling IDs out of an API response or a database export. A channel link yields the handle or channel ID as the channel component without resolving it further; see What It Doesn't Do for why.
Usage
The tool parses as you type — there is no button to press:
- Paste a YouTube link — anything from the formats above, or type a bare video ID.
- Read the result panel — the video ID, link kind, start time, playlist, and channel appear as you type, updated on every keystroke.
- Choose the output format — the radio group switches the generated link between Watch URL, Short link, and Embed URL.
- Set the toggles — Keep start time preserves the
t=orstart=parameter; Strip playlist dropslist=andindex=. - Copy the result — the generated link appears in the output field, ready to copy.
The result panel also lists which tracking parameters were stripped, so the cleanup is auditable: you see si and feature removed, not just a shorter URL.
Options explained
| Option | Effect | Default |
|---|---|---|
| Output format | Watch URL (&-joined), Short link (?-joined), or Embed URL (start=) |
Watch |
| Keep start time | Keeps t= (watch/short) or start= (embed) in the output |
On |
| Strip playlist | Removes list= and index= from the output |
Off |
Tutorial
Walk one messy link from Share button to clean URL.
Step 1 — Get a messy link. Open any video in the YouTube app, tap Share, and copy the link. It will look something like https://youtu.be/dQw4w9WgXcQ?si=3Fb2kF9mXzL1c5Qd&feature=share. Two tracking parameters are already glued on.
Step 2 — Paste it. Click the input and paste (Ctrl+V or Cmd+V). The result panel fills in immediately: video ID dQw4w9WgXcQ, kind short, and the stripped-parameter list shows si, feature.
Step 3 — Copy the clean watch link. Switch the format radio to Watch URL. The output now reads https://www.youtube.com/watch?v=dQw4w9WgXcQ — the same video, no fingerprint.
Step 4 — Try a link with a timecode. Paste https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=1h2m3s&list=PL123…&index=2. The panel shows the start time converted to 3723 seconds (1:02:03), and the playlist appears as a link to the playlist itself.
Step 5 — Decide what the recipient should see. Toggle Strip playlist on and the output drops list= and index=, so the recipient lands on the single video instead of being pulled into the playlist. Toggle Keep start time off and the link starts at the beginning.
Step 6 — Switch to embed. Set the format to Embed URL. The output becomes https://www.youtube.com/embed/dQw4w9WgXcQ?start=3723 — note the start= parameter, because the embed player ignores t=. This is the src you want for an iframe; pair it with the snippet in Pro Tips.
Start Time & Timestamps
The parser accepts all three ways YouTube writes a start time, and converts between them:
| Format | Example | Meaning |
|---|---|---|
| Plain seconds | t=3723 |
3723 seconds after the start |
| Seconds with suffix | t=90s |
90 seconds |
| Full clock | t=1h2m3s |
1 hour, 2 minutes, 3 seconds |
The result panel always shows the canonical form — the number of seconds plus a human h:mm:ss reading — so 1h2m3s and 3723 both render as 3723 s (1:02:03).
The one rule to remember is the embed exception. A watch URL and a short link both read the start time from t=, but the embed player reads start= instead. The tool translates automatically: paste ?t=90 and switch to Embed URL and you get ?start=90, not a silently broken timecode. This is the classic gotcha when someone hand-builds an embed link that ignores the t= parameter — the parser gets it right every time.
Output Format Guide
The three output formats point at the same video; they differ in where they fit:
| Format | URL shape | Start-time syntax | Best for |
|---|---|---|---|
| Watch URL | youtube.com/watch?v=ID |
&t=90 |
Documents, blogs, reference links where full URLs are fine |
| Short link | youtu.be/ID |
?t=90 |
Chat, email, social posts — the compact form the Share button produces |
| Embed URL | youtube.com/embed/ID |
?start=90 |
iframe src attributes for websites and apps |
Pick the format by where the link will live. A tweet or a message earns the short link; an article or knowledge base reads better with the full watch URL; a page that renders video needs the embed URL. Because the parser converts freely, you never have to remember which parameter each one takes — paste once, switch, copy.
Pro Tips
- Strip the playlist before sending. A link with
list=in it silently drags the recipient into a playlist context. If you mean one video, strip it — the parser makes that a single toggle. - Clean every share link you copy. The Share button's
siandfeaturetags identify how a link was copied and from which device. Running the paste through the parser is a two-second habit that removes them every time. - Build embed URLs for iframes. Switch to Embed URL and you get the correct
start=form for free. Pair it with the privacy-friendlyyoutube-nocookie.comdomain:<iframe src="https://www.youtube-nocookie.com/embed/dQw4w9WgXcQ?start=90" width="100%" height="100%" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen loading="lazy" ></iframe> - Paste a bare ID. Working from an API response or a spreadsheet of IDs? Type the 11 characters on their own and the parser treats them as a full link, format conversion included.
- Use the stripped-parameter list as an audit. The panel tells you exactly which trackers each link carried — useful when you are curating a link archive and want to confirm nothing leaked into the saved URLs.
Alternatives
How do people usually clean a YouTube link? The table fills out the options:
| Method | Cleans trackers | Keeps timecode | Converts format | Uploads your link |
|---|---|---|---|---|
| Share button copy | No — adds them | Yes | No | No |
| Manual deletion | Yes, by hand | Yes, by hand | No | No |
| Third-party link shorteners | No | No | No | Yes |
| This tool | Yes, listed visibly | Yes, with start= translation |
Watch / short / embed | No |
The Share button is the source of the noise rather than a cure. Manual deletion works but is error-prone — t= versus start= alone trips up most hand edits. Third-party shorteners replace tracking with their own redirect and upload the URL to their server. This tool is the only row with zero upload, and it surfaces what it removed instead of silently rewriting.
Against the Official APIs
The parser's zero-request design is a deliberate trade-off, and the other side of the trade is worth naming. The two public YouTube surfaces that do answer questions about a video are oEmbed and the Data API — and the table shows where each of the three paths wins:
| Capability | oEmbed | Data API | This tool |
|---|---|---|---|
| Split a URL into components | No | No | Yes, locally and instantly |
| Strip tracking parameters | No | No | Yes, with a visible audit list |
| Convert between watch / short / embed formats | No | No | Yes |
| Video title and thumbnail | Yes | Yes | Not available |
| View counts, likes, channel metadata | No | Yes | Not available |
| Existence / region checks | No | Yes | Not available |
| API key needed | No | Yes | None — zero requests |
oEmbed answers what is this video called, in one keyless request; the Data API answers everything, at the price of a key and a quota; this tool answers what is in this link, with no request at all. The three do not compete — parsing is a browser job, metadata is a network job. If a workflow needs both, run the parser for the URL and call oEmbed for the title: each one does its own job without the other's cost.
What It Doesn't Do
Honesty about the limits is part of what makes a parser trustworthy.
- It does not resolve a handle to a channel ID.
@handlestays a handle. Resolution needs the official Data API, which this tool deliberately never calls. - It does not verify the video exists. A valid 11-character ID parses cleanly whether the video is live, removed, or never existed. Checking existence would require a network call.
- It does not show titles, view counts, or channel names. Those come from the Data API or oEmbed — both network calls. The tool's zero-request design trades enrichment for privacy.
- It does not fetch or download anything. No thumbnail requests, no player loading, no analytics beacons. Parsing is pure local string work.
Everything that makes the parser useful — splitting, cleaning, converting — is local. Everything that needs the network is a separate service, and the trade-off is documented here rather than hidden.
Troubleshooting
| Problem | Cause | Solution |
|---|---|---|
| Pasting does nothing | The text is not a YouTube URL format at all | Use a link from the watch page or Share menu, or a bare 11-character ID |
| Result shows only the base URL | The toggles stripped every parameter | Check Keep start time and Strip playlist — with both off, no parameter remains to carry |
The embed link uses start= instead of t= |
That is correct | The embed player ignores t=; start= is the parameter it reads |
| The playlist field shows plain text, not a link | The playlist value contains characters outside the safe set | Legitimate playlist IDs are [A-Za-z0-9_-]; anything else is rendered as text for safety |
| The channel shows only the @handle | Handle resolution needs the Data API | The handle itself is the channel component; paste it into YouTube search if you need the channel |
| A tracking parameter still appears in the output | It is a semantic parameter, not a tracker | t=, list=, and index= affect playback and are kept by default; strip them with the toggles |
Privacy & Data Handling
The parser follows the strictest privacy model of the Toollect tools: it makes no network requests at all.
- Nothing is uploaded. The URL is parsed in your browser. No request containing it is ever sent — not to a server, not to YouTube's oEmbed endpoint, not to an analytics beacon.
- No account, no tracking. There is no login, no analytics, and no history of the links you paste.
- Nothing is stored. The tool keeps no state between visits; close the tab and the pasted link is gone.
- No third-party scripts. Unlike tools that load player or share APIs, this page runs entirely on its own code.
If privacy is why you are here: this is the page where you can paste the link you would not paste anywhere else.
Technical Specs
Details:
- Input formats: watch, youtu.be, Shorts, embed, live, legacy
/v/path, bare 11-character ID, playlist, channel (@handle,/channel/,/user/) - Tracking parameters removed:
si,feature,pp,ab_channel,utm_source,utm_medium,utm_campaign,utm_term,utm_content - Semantic parameters kept by default:
t=(start time),list=andindex=(playlist); both optional via toggles - Output formats: watch URL (
&-joined), short link (?-joined), embed URL (start=-joined, translated fromt=) - Timestamp parsing: plain seconds,
Nssuffix, andhmsclock notation, normalized to seconds plush:mm:ss - Processing: 100% client-side JavaScript with zero network requests, no API key, no server
- Browser support: all modern browsers with URLSearchParams (Chrome, Edge, Firefox, Safari)
Features
- Parses watch, Shorts, embed, live, youtu.be, channel, and playlist links into video ID, timestamp, playlist, and channel components
- Removes tracking parameters such as si, feature, pp, ab_channel, and utm_* while showing exactly what was stripped
- Converts YouTube timestamps between seconds, h:m:s, and t= parameter formats
- Generates watch URLs, short youtu.be links, or embed URLs from any parsed link
- Keeps or strips the start time and playlist parameters as you choose
- 100% client-side processing with zero network requests, no API key required