WhatsApp Link GeneratorWhatsApp 链接生成器
Almost every broken WhatsApp link fails for the same reason: the phone number is not in international format. Type your number however you normally write it — we will fix the format and show you exactly what changed.WhatsApp 链接失效,几乎都是同一个原因:号码不是国际格式。你平时怎么写就怎么输入 —— 我们帮你改成正确格式,并清楚告诉你改了什么。
Your number and message你的号码与讯息
Everything is built in your browser. Your number is never sent anywhere.全部在浏览器内生成,你的号码不会传送到任何地方。
Put it on your website放到你的网站上
Self-contained HTML — no stylesheet, no script, no plugin. Paste it into any page, page builder or email signature.完全独立的 HTML —— 不需要样式表、不需要脚本、不需要插件。可贴进任何页面、页面编辑器或邮件签名。
How this is calculated计算方式说明
A WhatsApp click-to-chat link opens a conversation with you directly — no saving your number, no searching, no typing. It is the single highest-converting button you can put on a Malaysian website, and it is also the one most often built wrong.
The one rule: international format, digits only
WhatsApp will only accept a number written as country code followed by the number, with nothing else. No plus sign. No spaces. No dashes. No brackets. And critically, no leading zero.
The leading zero is where nearly everyone gets caught. In Malaysia we write mobile numbers as 012-345 6789, but that first 0 is a national trunk prefix — it only means anything when you dial from inside Malaysia. In international format it is replaced by the country code 60. It is not kept as well.
| How you normally write it | What WhatsApp needs |
|---|---|
| 012-345 6789 | 60123456789 |
| 011-2345 6789 | 601123456789 |
| +60 12-345 6789 | 60123456789 |
| 03-1234 5678 | 60312345678 |
| 082-123 456 | 6082123456 |
Note the third row especially: +60 012-345 6789 is wrong in both directions. Once you have added 60 you must drop the 0, otherwise you end up with 600123456789 and WhatsApp reports the number as invalid.
"The phone number shared via url is invalid"
If your link produces this message, it is almost always one of four things:
- The leading zero is still in the number —
wa.me/60123456789works,wa.me/600123456789does not. - The plus sign was left in.
wa.me/+60123456789fails; the plus belongs in the display format, not the URL. - Spaces or dashes survived, often because they were pasted from a contact card and turned into
%20in the link. - The country code is missing entirely, so WhatsApp reads a Malaysian number as an incomplete international one.
A number that is correctly formatted but simply has no WhatsApp account gives a different message — WhatsApp will offer to invite them instead. That tells you the format is fine and the account is the problem.
wa.me or api.whatsapp.com?
Both are official WhatsApp endpoints and both do exactly the same thing. wa.me/60123456789 is shorter and reads better in print, on a business card or in an Instagram bio. api.whatsapp.com/send?phone=60123456789 is longer but historically behaves a little more reliably inside the in-app browsers used by Facebook, Instagram and TikTok. If most of your traffic comes from social media ads, the api form is the safer default; otherwise use wa.me.
Prefilled messages
Adding ?text= puts a message in the customer's input box before they have typed anything. They can still edit it, and nothing is sent until they press send. Two practical uses:
- Qualify the enquiry. "Hi, I'd like a quote for a 3-bedroom unit deep clean" saves an entire round of back-and-forth.
- Track where they came from. Use a different prefilled message per channel — one for your Instagram bio, one for your Google Business Profile, one for the flyer. When the message arrives you know instantly which one is working, without any tracking pixel.
The message has to be URL-encoded — spaces become %20, and line breaks become %0A. This tool does that for you. Keep it reasonably short; very long links get truncated by some in-app browsers.
Where to actually put the link
- Your website — a floating button in the bottom-right corner, plus one at the end of every service section.
- Google Business Profile — as the appointment or booking link. Many Malaysian customers will tap this before they ever reach your website.
- Instagram and TikTok bios — use the short
wa.me/60…form. - Facebook and Instagram ads — as the destination URL, though a Click-to-WhatsApp ad objective usually performs better.
- Printed material — as a QR code on a flyer, table tent, receipt, delivery box or shop window. The QR on this page encodes the full link, prefilled message included.
- Email signature — the HTML button on this page is self-contained and works in most email clients.
You do not need WhatsApp Business API
Click-to-chat links work with an ordinary personal WhatsApp account, with the free WhatsApp Business app, and with the API. There is nothing to sign up for, nothing to verify and nothing to pay. The free WhatsApp Business app is still worth having for the catalogue, quick replies, away messages and labels — but the link itself works either way.
Nothing is stored
Your number, your message and the QR code are all produced by JavaScript running in your browser. Nothing is uploaded, logged or shortened through anyone's redirect service. The link points straight at WhatsApp's own domain, so it will keep working regardless of what happens to this website.
WhatsApp 一键聊天链接能让客户直接打开与你的对话 —— 不必存号码、不必搜索、不必输入。这是马来西亚网站上转化率最高的一个按钮,同时也是最常被做错的那一个。
唯一的规则:国际格式,只留数字
WhatsApp 只接受国家代码 + 号码、其余一律不要的写法。不要 + 号。不要空格。不要破折号。不要括号。而最关键的是:不要开头的 0。
开头那个 0 正是绝大多数人栽跟头的地方。我们习惯把手机号写成 012-345 6789,但第一个 0 是国内长途前缀 —— 只有在马来西亚境内拨打时才有意义。转成国际格式时,它要被国家代码 60 取代,而不是保留下来再加 60。
| 你平时的写法 | WhatsApp 要的格式 |
|---|---|
| 012-345 6789 | 60123456789 |
| 011-2345 6789 | 601123456789 |
| +60 12-345 6789 | 60123456789 |
| 03-1234 5678 | 60312345678 |
| 082-123 456 | 6082123456 |
特别注意第三行:+60 012-345 6789 两头都错了。加了 60 之后就必须去掉 0,否则会变成 600123456789,WhatsApp 会直接报号码无效。
「通过链接分享的电话号码无效」
如果你的链接跳出这个提示,几乎一定是以下四种情况之一:
- 开头的 0 还留在号码里 ——
wa.me/60123456789可以,wa.me/600123456789不行。 - + 号没去掉。
wa.me/+60123456789会失败;+ 号属于显示格式,不属于网址。 - 空格或破折号还在,常见于直接从联络人卡片复制,结果在链接里变成
%20。 - 完全没加国家代码,WhatsApp 会把马来西亚号码当成不完整的国际号码。
如果格式正确、只是对方没有 WhatsApp 账号,提示会不一样 —— WhatsApp 会问你要不要邀请对方。看到那个提示,就代表格式没问题,问题出在账号。
wa.me 还是 api.whatsapp.com?
两个都是 WhatsApp 官方入口,功能完全一样。wa.me/60123456789 比较短,印在名片或放在 Instagram 简介里更好看。api.whatsapp.com/send?phone=60123456789 比较长,但在 Facebook、Instagram、TikTok 的 App 内建浏览器里,长期以来表现更稳定一些。如果你的流量主要来自社交媒体广告,用 api 版本比较保险;否则用 wa.me。
预填讯息
加上 ?text= 就能在客户还没打字之前,先把一段话填进他的输入框。他仍然可以修改,也要按下发送才会送出。两个实用做法:
- 先筛选询问内容。「你好,想问三房单位深度清洁的报价」这一句,能省掉一整轮来回。
- 追踪客户从哪来。每个渠道用不同的预填讯息 —— Instagram 简介一句、Google 商家档案一句、传单再一句。讯息一进来你就知道哪个渠道有效,完全不需要追踪像素。
讯息必须经过 URL 编码 —— 空格变成 %20,换行变成 %0A。这个工具会帮你处理好。内容别太长,过长的链接会被某些 App 内建浏览器截断。
链接该放在哪里
- 你的网站 —— 右下角一个浮动按钮,每个服务段落结尾再放一个。
- Google 商家档案 —— 放在预约 / 订位链接位置。很多马来西亚客户在进你网站之前就会先点这个。
- Instagram 与 TikTok 简介 —— 用短版的
wa.me/60…。 - Facebook 与 Instagram 广告 —— 当作落地网址,不过用 Click-to-WhatsApp 广告目标通常效果更好。
- 印刷品 —— 做成二维码放在传单、桌卡、收据、外送盒或店面橱窗上。本页的二维码编码的是完整链接,含预填讯息。
- 邮件签名 —— 本页的 HTML 按钮是完全独立的,在多数邮件客户端都能显示。
你不需要 WhatsApp Business API
一键聊天链接在普通个人 WhatsApp、免费的 WhatsApp Business App 以及 API 上都能用。不用注册、不用审核、不用付费。免费的 WhatsApp Business App 仍然值得装,因为有产品目录、快速回复、离开讯息与标签功能 —— 但链接本身用哪个都一样。
不会留下任何记录
你的号码、讯息与二维码,全部由浏览器里的 JavaScript 生成。没有上传、没有日志,也没有经过任何人的短链服务。链接直接指向 WhatsApp 自己的域名,所以就算这个网站哪天不在了,它照样能用。
Frequently asked questions常见问题
Why does WhatsApp say "the phone number shared via url is invalid"?为什么 WhatsApp 显示「通过链接分享的电话号码无效」?
Do I need WhatsApp Business to use a wa.me link?一定要用 WhatsApp Business 才能用 wa.me 链接吗?
Does the customer need to save my number first?客户需要先把我的号码存起来吗?
Can I change the prefilled message after I have printed the QR code?二维码印出去之后,还能改预填讯息吗?
What is the difference between wa.me and api.whatsapp.com?wa.me 和 api.whatsapp.com 有什么差别?
Need a website that brings you customers?想要一个能带来客户的网站?
We build the demo first. You only pay when you are happy with it.我们先做好 demo 给你看,满意了才付款。
Get a free demo免费获取 Demo