Skip to content
AgileLogics

WhatsApp Link Generator

Builds a wa.me link for a phone number, optionally pre-filling the chat with a message.

How it works

Enter a phone number in international format, optionally a message, and click Generate.

How do I create a WhatsApp link with a pre-filled message?

Enter the phone number in international format, type an optional message, and click Generate. You get a link of the form https://wa.me/<number>?text=<message>. Anyone who taps it opens a WhatsApp chat with that number, with your message already typed in the box and ready to send. They don't need to save your number as a contact first.

WhatsApp calls this feature "click to chat" and describes it in its help article How to use click to chat. The number has to be a full international number with no +, spaces, brackets or dashes, and the message is added as a URL-encoded text parameter.

Steps

  1. Type the number, including the country code, in the Phone number box. Formatting characters are fine.
  2. Optionally type the message in Pre-filled message.
  3. Click Generate and copy the link.
  4. Test it by opening it on your own phone before you publish it anywhere.

Getting the number right

The tool removes every character that isn't a digit, then checks the result. That makes it forgiving about formatting while still catching the dialling-prefix mistakes that would produce a dead link:

You type Link Correct?
+44 7700 900123 https://wa.me/447700900123 Yes
07700 900123 No link: "This looks like a local number (it starts with 0)..." Add the country code instead of the 0
0044 7700 900123 https://wa.me/447700900123 Yes: the 00 prefix is dropped
+44 (0)7700 900123 https://wa.me/447700900123 Yes: the bracketed (0) is dropped
+1 (415) 555-2671 https://wa.me/14155552671 Yes
+91 98765 43210 https://wa.me/919876543210 Yes
+61 491 570 156 https://wa.me/61491570156 Yes

The rule of thumb: write the number the way it would look after a + in the international E.164 format used worldwide, which is country code plus national number and at most 15 digits. Many countries drop a leading 0 from the national number when it follows a country code (the UK, Australia, India and others), so 07700... becomes 447700.... The tool enforces the basics of that format: more than 15 digits, or fewer than 7, gives an error, and input with no digits at all gives "Enter a phone number in international format".

The number also has to be registered on WhatsApp. If it isn't, the link opens WhatsApp but the chat can't be started.

The pre-filled message

The message is encoded with JavaScript's encodeURIComponent. For example, the number +44 7700 900123 with the message "Hi, is the blue bike still for sale? 🚲" produces:

https://wa.me/447700900123?text=Hi%2C%20is%20the%20blue%20bike%20still%20for%20sale%3F%20%F0%9F%9A%B2

The emoji becomes four percent-encoded bytes, which WhatsApp decodes back into the bicycle. Characters such as !, ', ( and ) are left as they are, which is valid in a URL. If you need to read an existing link's message, the URL decoder turns it back into plain text.

Keep the message short and editable. It's a starting point the customer can change before sending, so phrase it from their point of view: "Hi, I'd like to book a table for Friday" works better than marketing copy.

Where to put the link

  • Website buttons. A "Chat on WhatsApp" button on a contact page.
  • Social profiles. Instagram, TikTok and X bios accept a plain link.
  • Email signatures and invoices.
  • Printed material. Turn the link into a scannable code with the QR code generator; a short message keeps the code less dense.

If you want people to share a page to their own WhatsApp contacts rather than message you, that's a different kind of link; the share link generator builds those for WhatsApp and other networks.

What the tool doesn't do

Beyond the 7 to 15 digit range, it doesn't check whether the number exists, whether it's on WhatsApp, or whether its length is right for that particular country. It makes no network request, and the link is never shortened or tracked: what you see is exactly what people will tap. Business features like catalogues, automatic replies or API messaging need the WhatsApp Business app or platform, not a link.

Quick checklist

  1. Country code present, not a local number starting with 0.
  2. Message reads well and fits on a phone screen.
  3. Link opened and tested on a real phone.
  4. If printed, QR code scanned from the distance people will use.

Last updated

Frequently asked questions

What format should the phone number be in?
Full international format: country code, then the number, without the leading 0 you'd dial at home. For a UK mobile 07700 900123, enter +44 7700 900123. Spaces, brackets, dashes and the + sign are all fine to type, because the tool keeps only the digits. A 00 international prefix (0044 7700 900123) and a bracketed (0) after the country code (+44 (0)7700 900123) are removed for you.
Why do I get an error saying my number looks local?
The number starts with a single 0, the trunk prefix used for calls inside a country, such as the UK's 07700 900123. A wa.me link needs the country code instead, and the tool can't guess which country you mean. Replace the 0 with the country code: 07700 900123 becomes +44 7700 900123.
Do I need to encode spaces and emoji in the message?
No. Type the message normally. The tool percent-encodes it with encodeURIComponent, so spaces become %20, commas %2C, question marks %3F and emoji their UTF-8 byte sequence.
Can the pre-filled message have line breaks?
Not from this tool. The message box is a single-line field, so line breaks you paste are dropped. If you need one, add %0A to the generated link by hand where the break should go.
Does anything get sent to WhatsApp or to your server?
No. The link is assembled in your browser. Nothing is contacted until someone actually opens the link.