Free tool · no signup · runs in your browser

Free WhatsApp Link Generator

Create a click-to-chat link that opens a WhatsApp conversation with your number - no need for anyone to save you as a contact first. Add an optional pre-filled message. Everything runs in your browser, so your number is never sent to us or stored anywhere.

Build your wa.me link

How a wa.me link is built

The format is deliberately simple: https://wa.me/447700900123?text=Hi%20there

  • Digits only. No plus sign, spaces, dashes or brackets.
  • Country code required, even for a local number.
  • Message must be URL-encoded - a raw space or ampersand breaks the link.

wa.me, api.whatsapp.com or a QR code?

Three formats open the same chat, and they are not equally good choices. https://wa.me/447700900123 is the short link WhatsApp's own click-to-chat documentation describes, and it is what this generator builds. https://api.whatsapp.com/send?phone=447700900123 is the older long form - it still resolves to the same conversation, but it is longer, uglier in a bio, and has one extra way to fail: forget the phone= key and nothing works. The third variant, the whatsapp://send URI scheme, only makes sense inside a native app that knows WhatsApp is installed; on a web page it dead-ends for anyone without the app.

A QR code is not a fourth format - it is a wa.me link wearing print clothes. Wrap the link this tool produces in any QR generator for packaging, table tents or a shop window, or use the code the WhatsApp Business app and WhatsApp Manager generate for your number. Either way the scan opens the identical chat, so everything below about pre-filled text and measurement applies to the printed version too.

Encoding pitfalls in the pre-filled text

The ?text= value must be percent-encoded, and the failures are specific rather than random. A raw space ends the readable part of the message; the correct escape is %20. A literal + is the classic trap: some encoders emit it for spaces because that is the old form-submission convention, but a plus sign in a wa.me query can surface as an actual "+" character in the message box instead of a space - if you see "Hi+there" in WhatsApp, this is why. An unescaped & silently cuts the message at that point, because the browser reads everything after it as a new query parameter, and a # ends the URL entirely.

Emoji are legal but expensive: each one percent-encodes to four or more UTF-8 escape sequences, so %F0%9F%91%8B is a single waving hand. The message still works - this generator uses encodeURIComponent, which handles spaces, symbols and emoji correctly - but a QR code built from an emoji-heavy link gets visibly denser and harder to scan. Keep the pre-fill to one short, editable sentence; the recipient has to press send themselves either way.

Where the link earns money: ads and the free entry point

Most wa.me links live in bios, email signatures and Google Business Profiles, where the only cost is your reply time. The interesting placement is paid: Click-to-WhatsApp ads on Facebook and Instagram use the same click-to-chat mechanics as their call-to-action, and Meta's pricing gives a conversation opened from one of those ads a free entry point - for 72 hours, messages in that thread are not billed, templates included. If you sell through the WhatsApp Business API, that makes an ad-opened conversation cheaper to run than one you re-open later with a paid template. The messaging windows and tier caps that govern all of this are collected on the WhatsApp limits reference, and the API cost calculator will put a monthly number on your template volumes.

Measuring clicks without breaking the link

The instinct is to append utm_source=... to the wa.me URL. It does nothing: WhatsApp reads only the number and the text= value, and the conversation that opens never lands on a page your analytics can watch. Measurement has to happen one step earlier. Tag the landing page or ad that hosts the WhatsApp button with UTM parameters - the UTM campaign builder covers the naming rules - then record the tap itself as an outbound-click event in your analytics tool. For the conversation side, a short code word in the pre-filled message ("Hi, I'm asking about the spring offer") arrives as the opening line, so a human or a keyword rule can attribute the chat even though no query string survived the jump.

Three mistakes that break the link

  1. Leaving the plus sign in. wa.me/+44... fails. The generator above strips it for you.
  2. Dropping the country code. A number that works when dialled locally will not work in a wa.me link without it.
  3. Pasting an un-encoded message. Everything after the first space is silently discarded.

When a link is not enough

A click-to-chat link routes people into a personal inbox. That is fine at low volume. It stops working when messages arrive faster than someone can answer them, when they come in overnight, or when several people need to handle the same number - there is no queue, no assignment and no history beyond one phone.

At that point the number needs to be connected to a WhatsApp chatbot so common questions are answered automatically and the rest reach a shared inbox. Automated replies outside the 24-hour service window also require approved message templates, which is worth knowing before you build a campaign around outbound.

Frequently asked questions

What is a WhatsApp click-to-chat link?

A click-to-chat link is a wa.me URL that opens a WhatsApp conversation with your number without the person needing to save it as a contact first. The format is https://wa.me/<number in international format, digits only>, and you can append a pre-filled message with ?text=. It works on mobile and on WhatsApp Web.

Do I need WhatsApp Business to use a wa.me link?

No. Click-to-chat links work with a personal WhatsApp account as well as WhatsApp Business. You only need the WhatsApp Business API if you want to automate replies, send template messages outside the 24-hour customer service window, or connect the number to a chatbot.

Why is my WhatsApp link not working?

The three usual causes are: including a plus sign, spaces, dashes or brackets in the number - wa.me accepts digits only; omitting the country code, which is required even for local numbers; and forgetting to URL-encode the pre-filled message, which breaks the link at the first space or ampersand. This generator handles all three automatically.

Can I add a pre-filled message to a WhatsApp link?

Yes. Adding ?text= followed by URL-encoded text pre-populates the message box, though the person still has to press send - WhatsApp will not send it automatically. Pre-filled messages are useful for identifying which page or campaign a conversation came from, for example "Hi, I am enquiring about the pricing page".

Is this WhatsApp link generator free?

Yes, completely free with no signup and no limit on how many links you create. Everything runs in your browser, so the phone number you enter is never sent to or stored on our servers.

How do I use a WhatsApp link on my website?

Paste it into any anchor tag as the href, or use it as the destination of a button. Common placements are an Instagram bio, an email signature, a Google Business Profile, or a floating chat button. If you want conversations answered automatically rather than landing in a personal inbox, connect the number to a WhatsApp chatbot instead.

Can I track how many people click my WhatsApp link?

Not by tagging the wa.me URL itself - WhatsApp ignores UTM parameters, so an analytics tool never sees the click land anywhere. Instead, tag the page or ad that hosts the button, fire an outbound-click event when the link is tapped, and put a short code word in the pre-filled message so the conversation itself carries the campaign it came from.

Related

Answer WhatsApp automatically

Connect your number to a chatbot in minutes. Free plan, no credit card.