The WhatsApp link format, explained
Everything about WhatsApp “click-to-chat” links in one place: the exact URL formats, the phone and text parameters, how to write the number, how to encode the message, and the mistakes that quietly break a link. Bookmark it, cite it, build from it.
What a click-to-chat link is
A WhatsApp click-to-chat link (often called a “wa.me link”) is an ordinary URL that opens a WhatsApp chat with a message already typed in. The person taps the link, WhatsApp opens, and they only have to press send. No saving a number, no copying text across apps.
The link carries two pieces of information at most: which number to open a chat with, and what message to pre-fill. Both are optional, which is what makes the format flexible: you can point at one contact, or share a ready-written message anyone can forward to whoever they choose.
The message is only pre-filled, never sent automatically. The recipient always taps send themselves, so a click-to-chat link can’t message people on your behalf.
The three URL formats
WhatsApp accepts three interchangeable URLs for click-to-chat. They behave the same; wa.me is simply the short, official one.
wa.me: the short link
WhatsApp’s official short domain. The number goes straight in the path; the message is an optional ?text= query. This is the form to prefer everywhere.
https://wa.me/<number>?text=<url-encoded message>api.whatsapp.com/send: the long link
The older, longer equivalent. The number is a phone query parameter instead of a path segment. Identical behaviour; useful when a platform rewrites or blocks wa.me.
https://api.whatsapp.com/send?phone=<number>&text=<url-encoded message>web.whatsapp.com/send: desktop-first
Targets WhatsApp Web specifically. Handy for links you know will be opened on a computer; on a phone it still hands off to the app.
https://web.whatsapp.com/send?phone=<number>&text=<url-encoded message>The parameters
There are only two things you can set: the number and the text. Everything else in the URL is fixed.
| Parameter | Required | Where it goes | What it does |
|---|---|---|---|
number | Optional | Path segment on wa.me; the phone query on api/web.whatsapp.com | The contact to open a chat with, in full international format, digits only. Omit it to let the person choose who to send the pre-filled message to. |
text | Optional | ?text= query parameter | The message to pre-fill in the chat box, URL-encoded. Omit it to open the chat with an empty message box. |
How to write the phone number
The single most common reason a link opens an empty or wrong chat is a badly formatted number. The rules are strict but simple:
- Start with the country code (for example 44 for the UK, 1 for the US/Canada, 55 for Brazil).
- Use digits only: no plus sign, no spaces, no dashes, no brackets.
- Do not use a leading 0. National trunk zeros (as in 07911…) are dropped once the country code is added.
- Do not prefix with 00 either: the country code alone is enough.
+44 (0)7911 123 456447911123456How to encode the message
The text parameter must be URL-encoded so spaces and symbols survive the trip through the address bar. If you build links by hand, these are the characters that trip people up:
| Character | Encoded as |
|---|---|
| space | %20 (or +) |
| line break | %0A |
| & (ampersand) | %26 |
| # (hash) | %23 |
| ? (question mark) | %3F |
| % (percent) | %25 |
| + (plus) | %2B |
Emojis are fine and don’t need special handling. If any of this looks fiddly, don’t encode by hand: the generator below does it for you and shows the finished link.
What happens when someone taps it
On a phone, the link opens the WhatsApp app directly, on the chosen chat, with the message pre-filled. If the number isn’t saved as a contact, WhatsApp still opens the chat. That’s the whole point.
On a computer, it opens WhatsApp Web or the desktop app when the person is logged in there; otherwise it shows a page prompting them to open WhatsApp. Behaviour is worth testing on both if your audience is mixed.
If you leave the number out, WhatsApp opens and lets the person pick who to send the pre-filled message to: up to several chats at once. That makes a number-less link ideal for a message you want spread, rather than a chat with you.
A note on group links (they’re different)
A group invite is not a click-to-chat link and does not use wa.me. It looks like https://chat.whatsapp.com/<invite-code> and is generated inside WhatsApp from the group’s “Invite via link” option. You can’t build one from a phone number, and the text parameter has no effect on it.
Copy-paste examples
Working links you can adapt: swap in your own number and message.
https://wa.me/447911123456https://wa.me/447911123456?text=Hi%2C%20I%27d%20like%20more%20infohttps://wa.me/?text=Check%20this%20out%3A%20https%3A%2F%2Fexample.comhttps://api.whatsapp.com/send?phone=447911123456&text=HelloCommon mistakes
- Leaving the + , spaces or dashes in the numberStrip everything but the digits: +44 7911 123456 → 447911123456.
- Keeping the local leading zeroDrop it once the country code is there: 07911… → 447911…
- Not URL-encoding the messageEncode spaces and symbols (space → %20, & → %26), or let a generator do it.
- Expecting the message to send by itselfIt’s only pre-filled; the recipient still taps send. That’s by design.
- Using wa.me for a groupGroup invites use chat.whatsapp.com/<code>, created inside WhatsApp.
Don’t build these by hand
Now you know exactly how the format works, but you rarely need to assemble it yourself. Our free tools handle the number formatting and message encoding for you, and give you a link you can copy or turn into a QR code in seconds.