Social Share Link Generator – Building Share Buttons by Hand
A share intent is an ordinary URL that opens a platform's composer with some of the fields already filled in — for example https://twitter.com/intent/tweet?url=https%3A%2F%2Fexample.com&text=Hello. It is what sits in the href of a "Share this page" button. No SDK, no script and no account is involved, which is why share intents are the practical option in a newsletter, a README, a static site, an email footer or a link-in-bio page, where you cannot drop in a platform widget.
Where hand-written share links break
The first failure is encoding. Every value has to be percent-encoded, and the characters that matter most are the ones a title is full of: a raw & in a title ends that parameter and starts a new one, a # turns the rest into a fragment, and a ? or a space breaks the query string in less obvious ways. This tool pushes every value through the browser's own URL and URLSearchParams objects rather than joining strings together, so a title reading Tips & tricks: what now? survives intact.
The second is assuming every platform takes the same parameters. Several endpoints have no link parameter at all — WhatsApp and Mastodon take only a block of text — so the link has to be folded into the message body or it simply never appears. Others accept the link and nothing else. The capability grid in the tool marks each field as sent in its own parameter, folded into the text, or not sent, so you are not typing a description that every platform you picked will discard.
The third is treating a URL as finished once it is encoded. Percent- encoding makes a value safe inside a URL; it does nothing for the context that URL is pasted into. An & in an HTML attribute still has to become &, and a ) in a Markdown link target still closes the link early. Each output format here is escaped for its own destination.
Reading the URL anatomy
Every generated link is also shown broken into labelled chips: the base endpoint, then each parameter with its encoded value, with the pre-encoding value printed underneath. Seeing %3A%2F%2F line up with ://, or a whole second URL sitting inside one parameter, explains in one glance why a hand-built link was being rejected.
Why only http and https links are generated
An href runs whatever scheme it is handed, so a share-link builder that accepts anything is a way to publish a javascript: URL onto your own page. This tool parses the address you paste and accepts it only when the scheme is http: or https: — an allowlist, not a list of banned words, so odd spellings fail by default rather than by being recognised. Control characters are stripped from every text field, which is what keeps a newline out of a mailto: body. Until the address passes, the preview shows inert text instead of links, and every anchor that is generated carries target="_blank" and rel="noopener noreferrer".
Which platforms are included
The endpoint table is data, not code, and it lists what each platform accepts today. Platforms whose endpoints could not be verified are left out rather than shipped as links that silently do nothing, and the same goes for parameters a platform has stopped reading: a share link that prefills nothing looks identical to one that was never supported, so the buttons in the share bar preview are live on purpose. Click one, see what the composer actually shows, then copy the format you need.