WhatsApp link generator

Turn a phone number into a wa.me click-to-chat link, with an optional pre-filled message and a QR code.

This appears in the message box ready to send. It is never sent automatically.

At a glance

A WhatsApp link has the form https://wa.me/15551234567, where the digits are the phone number in full international format with no plus sign, spaces or dashes. Add ?text= followed by a URL-encoded message to pre-fill the message box. Anyone who opens the link gets a chat with that number without saving it first.

Take the phone number, write it in full international format with digits only, and put it after https://wa.me/. That is the entire format.

The tool above does the formatting for you, which matters more than it sounds: most broken WhatsApp links are broken because a leading zero was kept, a plus sign was left in, or the country code was missing.

  1. Select the country. This determines the dialling code and the validation rules applied to the rest of the number.
  2. Enter the phone number. Type it the way you normally would. The tool strips spaces, dashes and brackets and removes any domestic trunk prefix.
  3. Add a pre-filled message. Optional. Whatever you type here appears in the recipient's message box when they open the link, ready to send. They can edit or delete it before sending.
  4. Copy the link or download the QR code. Copy the wa.me URL to paste into a website, bio or email signature, or download the QR code as a PNG for print and on-screen use.

Append ?text= to the link followed by your message, URL-encoded. For example https://wa.me/15551234567?text=Hi%2C%20I%20saw%20your%20listing puts “Hi, I saw your listing” in the message box.

Encoding is the part that breaks by hand. Spaces become %20, a comma becomes %2C, an ampersand becomes %26, and a line break becomes %0A. An unencoded ampersand is the classic failure: everything after it is read as a new URL parameter and silently disappears. The generator above encodes the text for you.

The pre-filled text is a suggestion, not a sent message. It lands in the sender's input box and they choose whether to send it. Nothing is delivered by opening a link.

What is the difference between wa.me and api.whatsapp.com?

They do the same thing. wa.me carries the number in the URL path and api.whatsapp.com/send carries it as a query parameter, and wa.me redirects to api.whatsapp.com anyway.

Use wa.me for anything a human will read or type. It is short enough to print on a card or read aloud. The api.whatsapp.com form is more convenient when you are assembling the URL programmatically and already have a query string.

  • Path form: https://wa.me/15551234567?text=Hello
  • Query form: https://api.whatsapp.com/send?phone=15551234567&text=Hello

Anywhere a customer might want to start a conversation and would otherwise have to copy a number by hand.

  • Website: A contact button or a floating chat button. Use the link as a normal href; no script is required.
  • Instagram and TikTok bios: The link opens WhatsApp directly from the in-app browser on both platforms.
  • Email signatures and invoices: Useful where the reader is on a phone and a phone number would mean switching apps.
  • Printed material and shop windows: Use the QR code rather than the URL. Scanning is faster than typing and removes transcription errors.
  • Google Business Profile: Can be added as the chat destination so people can message from search results.

A wa.me link does not expire. It is a plain URL containing a phone number, with nothing stored on any server, so it keeps working for as long as the number does.

Shortened links from link-generator services are a different matter. Those redirect through the provider's own domain, which means the link stops working if the provider shuts down, changes its terms, or puts the feature behind a paid plan. The links this tool produces point straight at wa.me, WhatsApp's own domain, and nothing here needs to stay online for them to work.

Frequently asked questions

How do I create a WhatsApp link?

Write the phone number in full international format using digits only, with no plus sign, spaces or dashes, and put it after https://wa.me/. For example, +1 (555) 123-4567 becomes https://wa.me/15551234567.

How do I add a pre-filled message to a WhatsApp link?

Add ?text= to the end of the link followed by your message with URL encoding, for example https://wa.me/15551234567?text=Hi%20there. Spaces become %20 and an ampersand must be written as %26 or the rest of the message is dropped.

Is wa.me an official WhatsApp domain?

Yes. wa.me is WhatsApp's own short domain for click-to-chat links, and it redirects to api.whatsapp.com. It is not a third-party shortener.

Do I need WhatsApp Business to use a click-to-chat link?

No. Click-to-chat links work with any WhatsApp account. WhatsApp Business additionally generates a short link for you inside the app, but the wa.me format works either way.

Does a WhatsApp link expire?

A wa.me link does not expire, because it is just a URL containing a phone number with nothing stored on a server. Shortened links from third-party generators can stop working if that provider changes its terms or shuts down.

Can I generate links for a list of numbers at once?

No. This tool builds one link at a time and has no bulk or CSV mode, because bulk link generation is used almost exclusively for mass messaging.