UTM link builder
Add campaign parameters to a URL without losing the query string it already had, and without guessing which parameter means what.
The page you want people to land on, including https.
Where the click came from. For example a platform name.
The kind of link. For example social, email or referral.
The launch, promotion or theme this link belongs to.
Optional. Traditionally the paid keyword.
Optional. Separates two links to the same page, for example two versions of a post.
Your tagged URL
Enter a destination URL to see the result.
- utm_source
- Where the click came from. For example a platform name.
- utm_medium
- The kind of link. For example social, email or referral.
- utm_campaign
- The launch, promotion or theme this link belongs to.
- utm_term
- Optional. Traditionally the paid keyword.
- utm_content
- Optional. Separates two links to the same page, for example two versions of a post.
What each parameter is for
UTM parameters are read by analytics tools, not by the platform you post on. They travel in the URL, so anyone who sees the link sees them. Keep them short, lower case and consistent, because two spellings of the same campaign become two rows in a report.
This runs in your browser
Everything you type stays on this page. There is no request to a server, no storage and no analytics event carrying your text.
These tools do not publish anything. No connector has completed provider verification yet, so nothing here connects an account.
Questions
What happens to spaces and accents?
They are percent encoded, which is what makes a link survive being pasted into a post. A space becomes a plus sign and an accented letter becomes its encoded form, and analytics tools decode both back.
Will it break a URL that already has parameters?
No. Existing parameters are preserved in their original order, and only a UTM parameter you filled in is added or replaced. A fragment at the end of the URL stays at the end.
Is my URL sent anywhere?
No. The URL is composed in your browser and never leaves this page.
Other tools
- Post preflight checker
One draft, checked against the text and media limits of ten platforms at once.
- YouTube title length checker
Measure a title the way a person counts characters.
- Time zone and daylight saving planner
One posting time across several audience zones, with the daylight saving shifts marked.
- Engagement rate calculator
Interactions divided by reach, followers or impressions. Nothing looked up, nothing benchmarked.
- Image and video size limits
Every recorded upload ceiling, video length and accepted format, one table per platform.
- Thread splitter
Split long text into a numbered stack of parts that each fit the character limit of a chosen network.
- Hashtag and mention counter
Count hashtags and @mentions in a post and flag any hashtag that repeats.
- Case converter
Sentence case, Title Case, UPPERCASE or lowercase, without touching a URL, hashtag or @mention.
- Invisible character copier
Copy a zero-width or blank Unicode character, with an honest explanation of what it is for.
- Video script timer
Estimate spoken duration and word budget for 15, 30, 60 and 90 second videos.
- Font changer
Type once, see every Unicode text style, copy the one you want. Not a font file.
- Instagram fonts
Styled text for an Instagram bio or caption, with the accessibility cost stated plainly.
- Discord fonts
Styled text for a Discord name, status or message, and when to use markdown instead.
- Facebook fonts
Styled text for a Facebook post or bio, with the search and screen reader cost stated plainly.
- Cursive font generator
Script and italic styles only, for when cursive is the thing you actually want.