In short
- Put the numbers in one column. Add a column for anything you want to personalise, such as name or time.
- In Google Sheets, download the sheet as .xlsx or .csv. Excel files work as they are.
- Install the DroidSender app on an Android phone and pair it with the six-character code from the dashboard.
- Create a campaign, upload the file, and write the message. Type @ to drop a column into the text. It works like a mail merge in Word, but each row becomes an SMS.
- Send now or schedule it. Replies land in Conversations, next to what you sent.
What you need
- An Android phone with a SIM card that can send texts. A plan with unlimited SMS is worth it if you send in volume.
- A computer for the dashboard.
- Your list in Excel, Google Sheets or any tool that exports .csv.

Why send from a spreadsheet at all
If you have a list of customers, patients, members or students, it is already in a spreadsheet. The usual way to text all of them is an SMS gateway: you pay per message (in Europe often five to nine cents each), register a sender, wait for approval, and the texts arrive from a number nobody recognises.
DroidSender takes a different route. A normal Android phone with a normal SIM card becomes the sender. You upload the spreadsheet on the computer, the phone sends the texts through your existing plan, and replies come back to the same number your customers already have saved. This guide walks through the whole thing, from the spreadsheet to the first reply.
New to bulk texting? Start with how to send bulk text messages from your computer, free, from your own number.
Prepare the spreadsheet
One column holds the phone numbers. Any header works: DroidSender finds the numbers column on its own, and shows which one it used after you upload.
Every other column becomes a variable you can use in the message. A minimal file looks like this:
| phone | name | time |
|---|---|---|
| +12025550143 | Maria | 09:30 |
| +12025550176 | John | 10:15 |
| 3105550198 | Ana | 11:00 |
A few things that save trouble later:
- Any country works. The numbers can be from anywhere; what matters is the SIM in the phone that sends. If the SIM is from the same country as the numbers, you do not need the prefix: 3105550198 is read as a US number on a US SIM, 07911 123456 as a UK number on a UK SIM. The country is detected from the SIM automatically.
- Use the international format (+ and country code, like +12025550143) when the list mixes countries, or when the numbers are not from the SIM's country.
- One row per person. Duplicated numbers are skipped automatically and listed before you send.
- Keep the header row. It is what names the variables. A column called "name" becomes the variable @{name}.
- Empty cells are fine, but that person's message will have a gap where the variable was. Fill the column or leave it out of the message.
The file can be .xlsx, .xls or .csv, up to 10 MB.
Export from Google Sheets
Google Sheets does not upload directly, but the export takes ten seconds. Open the sheet, then File, Download, Microsoft Excel (.xlsx) or Comma Separated Values (.csv). Either works. If the sheet has several tabs, .xlsx keeps them all and the first tab is used; .csv exports only the tab you have open.
Excel files upload as they are. If you keep the list in Numbers, Notion or a CRM, export to .csv and you are in the same place.
Connect the phone
The phone is the gateway, so it has to be paired once. This is the part that takes the five minutes, and you only do it the first time.
- On the computer, sign in to DroidSender with your Google account. The first thing you see is Connect a phone, with a QR code.
- Point the phone's camera at the QR code and tap Download the app. It is an APK, not a Play Store app, because Google restricts apps that send texts this way. Android will warn you that the file is from outside the store; that warning is normal, and the computer shows which button to tap on each one. Install, then open.
- Type the six-character code shown on the computer into the app on the phone.
- Allow the permissions Android asks for. The app needs them to send, to read replies, and to stay running in the background.
- The app then asks whether to import your existing conversations. Say yes, so that when someone replies later you see the full history rather than a bare number.
Back on the dashboard, the phone shows as connected, with its battery and whether it is online. If it drops offline later, the campaign waits in the queue and resumes when it is back.
Create the campaign and upload the file
Go to Campaigns and click New campaign.
- Name it something you will recognise in a month, like "October appointment reminders".
- Pick the sending phone. If you have several phones on the account, this is where you choose which one sends. Only online phones can be picked; if yours is offline, leave it empty and the campaign goes out when a phone is back. You can also allow another phone to stand in if the chosen one is offline at send time.
- Upload the file. Drop the .xlsx or .csv in the Contacts box. It reads the file, tells you how many numbers it found, and lists the extra columns as variables. If some rows have no valid number, you see them listed with the reason, and you decide whether to continue with the rest.
Nothing has been sent yet. The campaign only exists once you press Create campaign, or Save draft to finish it later.
Write the message with each person's details
You can send the exact same text to everyone. Or you can personalise it: type @ in the message box, pick a column, and it drops into the text as a variable. At send time each person gets their own value.
Hi @{name}, your appointment is tomorrow at @{time}. Reply YES to confirm.
Maria receives "Hi Maria, your appointment is tomorrow at 09:30", John receives his. Same campaign, a different message for every row.
Two things to watch while you write:
- Length. A standard SMS is 160 characters. Some accented characters (ã, õ, á, í, ó, ú, ê, ç and so on, while é and à are fine) and emojis switch the message to a different alphabet where the limit drops to 70, so a two-line reminder becomes two or three messages. The composer counts this for you and offers to convert the accents with one click.
- Variables that get long. A name is short; a full address is not. Check the preview with the longest value in your file.
Send now or schedule
Press Create campaign to send right away, or tick Schedule the send, pick the date and time your customers actually read texts (mid-morning beats 11 pm) and press Schedule campaign.
Before anything goes out, the message passes a quick automated review. It is a safety check on the content and it is there to protect your number. It takes seconds. If the text matches a pattern that needs a human look, the campaign is held and the dashboard tells you why; duplicating it with adjusted wording sends it again.
Then it starts, and you watch the progress bar fill.
What happens while it sends
It sends at a human pace, roughly one message every couple of seconds. It does not fire the whole list at once, and that is deliberate: it is how you stay on good terms with your carrier and how your number stays clean. A list of 1,000 numbers takes about 35 to 40 minutes.
Nothing gets lost. Every message sits in the queue and goes out in order. If the phone loses signal or battery, the queue waits and resumes. On the campaign page you see what was delivered, what failed and why, and which phone each message went from.
Where the replies go
This is the part most people do not expect. Go to Conversations. Every thread from that phone is there, and when people reply, their answers land next to what you sent them. You answer from the computer, like WhatsApp Web, and the reply goes out from the number your customers already recognise.
So it is not just a one-way blast. A campaign from a spreadsheet becomes a real two-way channel, running on the phone in your pocket.
Common mistakes
- The wrong column was picked. After uploading, choose the right one under "Phone numbers from column".
- The numbers column has a formula or is formatted as a number. Excel drops the leading + or 0. Format the column as text before typing, or use the international format with the + in front.
- Local numbers from another country. A UK number written as 07911 123456 on a US SIM cannot be read. Write it with the country code: +44 7911 123456.
- RCS chats are on in the phone's messaging app. RCS chats don't travel as SMS, so replies sent as RCS never reach DroidSender. Turn RCS off in the messaging app settings.
- Sending 3,000 messages on the first day. Carriers notice sudden jumps. Start with a few hundred, then raise the volume.
- Testing with real customers. Put your own number in the first row and send a campaign of one before the real one.
Questions people ask
- Does it work with Google Sheets, or only Excel?
- Both. Google Sheets does not upload directly, so download the sheet as .xlsx or .csv first (File, Download). The columns come through exactly the same.
- How many numbers can I send to?
- A file can have up to 50,000 rows and 10 MB. What limits you in practice is your mobile plan, the monthly SMS included in your DroidSender plan, and the human pace of sending, roughly one message every couple of seconds. A list of 1,000 takes about 35 to 40 minutes.
- What format do the numbers need?
- International (+12025550143) or national (2025550143). National numbers are read in the country of the SIM in the sending phone, so numbers from that country need no prefix. Spaces, dashes and brackets are cleaned up. Rows without a valid number are listed before you send, and the rest go out normally.
- Will my carrier block me?
- Unlimited plans have fair-use rules, which is why DroidSender sends at a human pace and never fires everything at once. Start with smaller lists and raise the volume gradually. A campaign runs on one phone, so for a big list split it into two campaigns on two phones.
- Can people reply?
- Yes. Replies arrive on the phone and appear in Conversations on the dashboard, in the same thread as the message you sent. You answer from the computer and the reply goes out from your number.
- What does it cost per message?
- There is no per-message fee. The messages go out through your own SIM card, so the cost is whatever your mobile plan already charges, which is usually nothing on an unlimited plan. DroidSender plans include a monthly number of messages, 100 on the free plan and 2,000, 10,000 or 50,000 on the paid ones.