🎉 New feature on Share Widget: a redirect URL after WhatsApp sharing. Try it!

Bulk WhatsApp Sender Helper

Send a personalized WhatsApp message to a whole list of contacts, without typing each one. Paste your list, write the message once with placeholders like {{Name}}, and get a ready-to-open chat link for every person. You stay in control: every message is still sent by you, with one tap.

📘 New here? Read the step-by-step guide →

Your contacts

One row per person. The first column is the WhatsApp number; every other column becomes a field you can drop into the message.

100% private: everything happens in your browser. Your contacts and message never leave your device, nothing is uploaded to us or stored on any server.

Or simpler: select your columns in Excel or Google Sheets, copy them, and paste into the first cell of the table.

International format, digits only, e.g. 447700900123
🇬🇧
🇬🇧
🇬🇧

Your list is saved on this device so you can close the tab and finish later, it’s never uploaded. Use “Clear all” to remove it.

Your message

Write it once. Fields like {{Name}} are replaced with each contact’s own values, check the preview to see the result.

Click a field to insert it into your message:

WhatsApp formatting works: *bold*, _italic_, ~strikethrough~.

Pro tips: {{Name|there}} sets a fallback when a field is empty, {{FirstName}} uses just the first name, and {{morning|afternoon|evening}} picks one variation at random per contact (so 100 messages aren’t identical).

PreviewContact 1 of 3
Emma

Hello Emma, remember to come tomorrow to the meeting at 10:00. See you there!

Your links

One personalized link per contact. Open the chats one by one, WhatsApp opens with the message ready, you just tap send.

Send at a healthy pace so your number stays safe

What gets numbers banned is blocks and reports, not raw volume, so the people you write to matter more than how many. Don’t blast a big list at once, especially to people who don’t have your number saved. On a new number, start at 10–30 messages a day to contacts who already have you saved, reach 30–50 in week one and 100–200 by the end of week two, then cap around 200 a day and add a second number rather than pushing this one. Keep it under 30 an hour, space the sends across the day, personalize every message, and only write to people who expect to hear from you.

Full warm-up schedule and ban triggers →
0 of 3 chats opened
DoneContactMessageLink
EmmaHello Emma, remember to come tomorrow to the meeting at *10:00*. See you there!
LiamHello Liam, remember to come tomorrow to the meeting at *10:00*. See you there!
AishaHello Aisha, remember to come tomorrow to the meeting at *10:00*. See you there!

Nothing is sent automatically: each link opens WhatsApp with the message pre-filled, and you tap send for every chat.

Everything runs in your browser, your contact list is never uploaded anywhere.

Saves everything, contacts, message, opt-out list and which chats you’ve already opened, as a file you can keep or reopen on another device. Import it here to carry on where you left off.

What this tool does (and deliberately doesn't)

WhatsApp's click-to-chat links can pre-fill a message for a specific number, but only one at a time. This tool does the repetitive part for you: it merges your contact list into your message template, like a mail merge, and produces one [wa.me link](/whatsapp-link-format) per person. Opening a link shows the chat with the personalized text already typed; you review it and tap send. Nothing is ever sent automatically: WhatsApp doesn't allow that from links, and pretending otherwise is how numbers get banned.

That makes it ideal for the in-between scale: reminding 40 parents about a school meeting, inviting 100 members to the club assembly, confirming appointments for the week, or thanking every volunteer by name after an event. The checklist keeps your place: each opened chat is ticked off, so you can stop halfway and continue after lunch. When you'd rather work from your spreadsheet, download the CSV: it contains every contact, the final message and the link, ready to share with a colleague who does the sending.

Because it only builds standard wa.me links and never touches the official WhatsApp Business API, there's nothing to apply for and no eligibility gate, which also makes it one of the few bulk-messaging options open to political parties and electoral campaigns, who Meta bars from that API. Whoever you are, send responsibly: what gets numbers restricted is blocks and reports, not raw volume, so warm a number up first (10–30 messages a day at the start, 100–200 by week two, capped around 200) and only message people who expect to hear from you. Not sure the link approach fits at all? Compare the three WhatsApp account types.

Your list never leaves the browser: the table, the template and the links are all built on your device, and nothing is uploaded or stored on our servers. For one-off links, the WhatsApp Link Generator is quicker; for print, turn any link into a QR code.

Not sure this is the right approach at all? A broadcast list, a group, a Channel or the official API each fit a different job, and each has a catch worth knowing before you commit. We compare all seven ways to message many people on WhatsApp, including who they actually reach and what gets a number restricted.

Frequently Asked Questions

Does this tool send the messages automatically?
No, and that's deliberate. WhatsApp has no way to auto-send from a link: each generated link opens WhatsApp with the message pre-filled for that contact, and you tap send. That keeps you in control of every message and on the right side of WhatsApp's terms of service. If you need genuinely automated sending, that requires the official WhatsApp Business API. See our automation guide.
Does it use the official WhatsApp API?
No. This tool only builds standard wa.me click-to-chat links in your browser. It never connects to the WhatsApp Business API or any WhatsApp server. There's no approval process, no API key and no eligibility check: if you can send a WhatsApp message by hand, you can use these links. Because it doesn't touch the official API, it's also open to organizations the API excludes (see the next question).
We're a political party or run electoral campaigns. Can we use it?
Yes. Meta bars political and electoral organizations from the official WhatsApp Business API, but this tool doesn't use that API at all. It just creates wa.me links that you open and send yourself, exactly like typing a message by hand, which is ordinary personal WhatsApp use. Stick to the usual etiquette (message people who opted in, personalize, don't blast strangers, and warm your number up), and read We Are a Political Party: Can We Use the WhatsApp API? for the compliant options in depth.
How do the {{placeholders}} work?
Each column in your contact table becomes a field. Writing {{Name}} in the message template inserts that row's value from the Name column, so "Hello {{Name}}" becomes "Hello Emma" for Emma's link and "Hello Liam" for Liam's. Add as many columns as you like (dates, amounts, locations) and click the field chips above the message box to insert them. Matching ignores case, and a misspelled placeholder stays visible in the preview so you can spot it.
What should my CSV or spreadsheet look like?
One row per person, with the phone number in the first column (or in a column whose header says something like Phone) and anything else (names, dates) in the other columns. A header row is detected automatically. You don't even need a file: select the cells in Excel or Google Sheets, copy them, and paste into the first cell of the table. Not sure of the shape? Click *Download example CSV* to get the current table as a file you can open and copy.
What format do the phone numbers need?
Full international format: country code first, digits only: no +, spaces, dashes or leading zeros. For example, UK 07911 123456 becomes 447911123456. The table flags numbers that look wrong (kept the leading 0, missing country code) without blocking the rest of your list. See the complete wa.me link format reference for details.
How many messages a day is it safe to send?
Treat every number as if it needs warming up, a new one especially. On a fresh number: 10–30 a day to contacts who already have you saved for the first three days, 30–50 through week one, 100–200 by the end of week two, then cap around 200 a day. Space the sends across the day (under 30 an hour) instead of firing them back to back. But the count is not really the limit: blocks and reports are. Keep those under about 1–2% and replies above 30%, and volume takes care of itself; a spike to people who don't have you saved is what trips WhatsApp's spam detection. The WhatsApp number warm-up guide has the full day-by-day schedule.
Will WhatsApp block my number for sending many messages?
It can, if you behave like a spammer: a burst of identical messages to people who don't have your number saved (who then report or block you) is the classic trigger for a restriction. Because WhatsApp can't read your messages, what recipients do is its strongest signal, and a block rate above roughly 2% is the danger line. This tool helps you stay on the safe side (personalized messages, opened and sent one at a time by a human), but you set the pace: warm the number up, message people who expect to hear from you, and stop the moment blocks or unanswered messages pile up. The WhatsApp Limits & Rules reference has the safe and danger thresholds; for guaranteed high-volume delivery you'd want the official WhatsApp Business API.
Why not just use WhatsApp's built-in broadcast lists?
Broadcast lists send one identical message, and only reach people who have your number saved in their contacts. This tool personalizes each message ("Hello Emma…", "Hello Liam…") and works with a plain click-to-chat link, so it reaches anyone on WhatsApp. Personalized messages also read like messages, not spam, which gets more replies. Broadcast lists are still worth having in the mix, though; here's how to use them well.
Can I add extra fields like a date, time or amount?
Yes, click *+ Add column*, name it (say Time or Amount), fill it in per contact, and use {{Time}} or {{Amount}} in your message. Every new column becomes a placeholder chip above the message box. That's how you go from "Hello {{Name}}" to "Hello {{Name}}, your appointment is on {{Date}} at {{Time}}".
Is there a limit on how many contacts I can use?
Yes, 500 rows per batch, enough for most real lists while keeping the page fast. If your list is bigger, split it and run it in batches (and pace the sending anyway; see the daily-limit question above). If you're regularly messaging thousands of people, a link-based workflow is the wrong tool: look at proper WhatsApp automation built on the official API.
Is my contact list uploaded anywhere?
No. Everything (the table, the template, the generated links) is processed in your browser and never sent to our servers. Your batch is saved in this browser's local storage so you can close the tab and pick up a multi-day list later; it stays on your device, and *Clear all* removes it whenever you want.
Can I format the messages with bold or italics?
Yes. Use the *B / I / S / </>* buttons above the message box, or type the markers yourself: *bold*, _italic_, ~strikethrough~ and triple backticks for monospace. The preview renders the formatting exactly as WhatsApp will.
Does it work on a computer, not just my phone?
Yes. Each link opens WhatsApp Web or the desktop app when you're logged in there, with the message pre-filled, so you can work down the checklist from your computer, clicking "Open" for each contact. It works on a phone too; use whichever device has your WhatsApp signed in.