Batchrunner Get the app
Free tool · spreadsheet check

Send texts from a spreadsheet: check your list first

Last checked: 6 Nov 2026 · first version

Short answer

Excel and Google Sheets don't send texts on their own; you need an SMS service, an add-on, or a phone app that reads the list. First check the file: every row needs a number, no duplicates, and a first name if you greet people by name. Save it as CSV and drop it below.

Your list · .csv

0 of 0 rows ready

    The send list opens on the next page in this tab. Your list is handed over inside the browser, never in the web address.

    Or paste rows (example loaded)
    Next to a laptop with a blurred spreadsheet, hands hold an iPhone; rows lift off the grid and become separate personal texts.

    The short answer

    A spreadsheet can't text anyone by itself. Excel and Google Sheets need a gateway: an SMS service with an API, a paid add-on, or an app on your phone that reads the file. Whichever you pick, the list has to be clean first. A missing number fails silently, a duplicate texts someone twice, and a blank first name turns "Hi {firstName}," into "Hi ,". The checker above finds those rows in your browser and nothing is uploaded.

    Before you text a list: only people who gave you their number for this kind of text. A spreadsheet from a vendor, a lead list or a scraped list is not permission. Not legal advice; see the permission section below.

    What the checker looks for

    The checker marks rows that can't be texted or would be texted twice.

    Table: Problem · Why it matters · What the checker does
    ProblemWhy it mattersWhat the checker does
    No phone numberThe row can't be textedMarks it "no number" and leaves it out
    A number that doesn't look like a phone numberUsually a typo, a landline extension or a merged cellMarks it "check number"; a US number needs 10 digits, or 11 starting with 1; numbers with + are kept
    The same number twiceThat person gets the text twiceKeeps the first row, marks the rest "duplicate"
    Blank first name"Hi {firstName}," becomes "Hi ,"Marks it "needs a first name" and leaves it out until you add one
    Full name in one columnThe text would say "Hi Sam Rivera,"Uses the first word as the first name, the rest as the last name

    The checker recognizes common header names: First name, Last name, Name, Company, Phone, Mobile, Cell, Number. With no header row, it guesses: the phone column is the number, the next text column the name.

    What you get back. A count of ready rows, a list of problem rows to fix in your spreadsheet, a cleaned CSV with four columns (first name, last name, company, phone), and a button that opens the ready rows in our free send list in this browser tab. Nothing goes into the web address.

    Export the file as CSV

    Export from Excel, Google Sheets or Numbers as CSV.

    • Excel: File, then Save As (or Save a Copy), then choose "CSV UTF-8 (Comma delimited)."
    • Google Sheets: File, then Download, then "Comma Separated Values (.csv)."
    • Numbers on iPhone or Mac: Share or Export, then CSV.

    If your sheet has several tabs (clients, vendors, staff), export each one separately.

    Ways to send texts from a spreadsheet

    Routes using a service's number are built for volume; phone routes keep your own.

    Table: Route · Sends from your own number? · Names merged per person? · Cost · Fits
    RouteSends from your own number?Names merged per person?CostFits
    SMS service with an API, plus a script or macroNo, a number the service gives youYes, if you write itPer message, plus setupDevelopers, large lists
    Google Sheets or Excel add-onUsually noUsually yesAdd-on plus a paid message balanceTeams already in Sheets
    Email-to-SMS gateway scriptsNoYesFreeUnreliable; one carrier per address
    Upload the CSV to a texting platformNo, unless you register and port a numberYesMonthly planBusinesses with consent records and volume
    Free send list on this siteYes, through MessagesYes, first and last nameFreeA few dozen people; you tap Send for each
    A phone app that imports the CSV (Batchrunner Pro)Yes, through MessagesFirst name, last name, company$7.99/month or $39.99/yearLists you text again and again

    The phone routes keep your own number but need you to tap Send for every text.

    Mail merge for text messages

    Mail merge means one template, many people, each copy with that person's details. In a text it's usually just the name: "Hi {firstName}," becomes "Hi Sam," for Sam and "Hi Priya," for Priya. Messages on iPhone has no merge fields; Apple's Pages merges into documents, not texts. So the merge has to happen somewhere else: in a texting service, in our free send list, or in an app.

    Two things to know before you merge:

    • Only the columns you have. Batchrunner fills first name, last name and company per person. Anything else that differs per person (a time, an amount, a slot) needs its own send, or a text to that person on their own.
    • A merged name doesn't make a text private by itself. Privacy comes from sending one conversation per person. In Batchrunner 2.2, include {firstName} to open one conversation per person; without a merge token, a batch can open as a group.

    Send it from your iPhone without a group chat

    If you put everyone in one message, Messages starts a group: Apple says everyone in a group iMessage or group MMS sees all replies. To keep each person private, send one conversation per person.

    1. Free, in your browser. The text each person individually guide has a send list: paste names and numbers, and each row opens Messages for one person with the text filled in. You tap Send each time and tick them off.
    2. In Batchrunner, our iPhone app. In Batchrunner 2.2, include {firstName} to open one conversation per person; without a merge token, a batch can open as a group. With a token, each person gets their own text and replies come back only to you. A batch without one opens one compose sheet for up to 40 people, and depending on the phone's Messages and carrier settings (Group Messaging, MMS), iOS may turn that into a group thread.

    If someone on the list has no first name saved, add one before you send, or the text starts "Hi ,".

    Before you send: permission and opt-out

    The full rules, with sources, are on texting customers: consent and opt-out basics. Not legal advice. For this job:

    • Only people who gave you their number for this. A spreadsheet of customers who asked for appointment texts is fine for those texts. A list from a vendor, an event attendee export or scraped numbers isn't.
    • Business texts include "Reply STOP to opt out." When someone opts out, delete them from the spreadsheet and any group before your next send. Nothing on this site or in Batchrunner processes STOP for you.
    • You're a business sender, even on your own phone. CTIA counts anyone texting on behalf of a business as a "Non-Consumer."
    Batchrunner for iPhone

    Ready to send to people who asked for these texts? Batchrunner, our iPhone app, opens Messages from your own number. In Batchrunner 2.2, include {firstName} to open one conversation per person; without a merge token, a batch can open as a group. You tap Send; a ledger marks each person sent, remaining or skipped. Free covers 10 people per send, 2 groups and 2 templates; Pro is $7.99/month or $39.99/year with a 3-day free trial. iPhone only, iOS 17 or later.

    Get Batchrunner on the App Store

    Batchrunner opens Messages; you tap Send for each recipient.

    What Batchrunner does, and what it doesn't

    Batchrunner opens Messages; you tap Send for each recipient.

    Table: Batchrunner does · Batchrunner doesn't
    Batchrunner doesBatchrunner doesn't
    Opens Messages from your own number, one person at a time when the message has {firstName}Send by itself: you tap Send for every text
    Fills {firstName}, {lastName} and {company} for each personFill other per-person details such as times, venues or amounts: split the list, or text those people yourself
    Keeps a ledger of sent, remaining and skipped, and picks up where you stopped after a crash or lost signalKnow whether a text was delivered or read: the ledger records that you tapped Send
    Recurring weekly or monthly reminders (Pro) that notify you at the timeSend on a schedule: when the reminder goes off, you open it and tap Send
    Builds groups from your contacts, or from a CSV file on ProRead replies or handle STOP: you remove people who opt out

    Contacts stay on your phone and messages go through Messages; there's no Batchrunner server. iOS picks iMessage, SMS or RCS per text. Prices and limits: Batchrunner for iPhone.

    Questions people ask

    Can you send a text message from Excel? Not by itself. Excel needs an SMS service or an add-on to send, and those usually send from a number they give you. To send from your own iPhone number, save the sheet as CSV and use a send list or an app that opens Messages for each person.

    How do I send a text message from Google Sheets for free? Sheets add-ons are often free to install but charge for messages. A free route: download the sheet as CSV, check it here, and open the ready rows in our free send list. You tap Send in Messages for each person.

    Can you mail merge text messages? Yes, but not in Messages itself. A texting service, our free send list or an app fills each person's name into one template. Batchrunner fills first name, last name and company per person.

    How do I send SMS from a CSV file? Check the file for missing numbers, duplicates and blank first names, then load it into whatever sends: a texting platform, our free send list, or a phone app with CSV import.

    Questions people ask

    Can you send a text message from Excel?

    Not by itself. Excel needs an SMS service or an add-on to send, and those usually send from a number they give you. To send from your own iPhone number, save the sheet as CSV and use a send list or an app that opens Messages for each person.

    How do I send a text message from Google Sheets for free?

    Sheets add-ons are often free to install but charge for messages. A free route: download the sheet as CSV, check it here, and open the ready rows in our free send list. You tap Send in Messages for each person.

    Can you mail merge text messages?

    Yes, but not in Messages itself. A texting service, our free send list or an app fills each person's name into one template. Batchrunner fills first name, last name and company per person.

    How do I send SMS from a CSV file?

    Check the file for missing numbers, duplicates and blank first names, then load it into whatever sends: a texting platform, our free send list, or a phone app with CSV import.