CSV Import

Send Text Messages from a CSV File

CSV to SMS means importing your spreadsheet — Google Sheets, Excel, or any CRM export — and sending each contact a personalized text from your real phone number. Text Your List does this on Mac and Windows. No shortcode, no bulk SMS account required.

to Sarah (from your CSV)
Hey Sarah, your appointment is confirmed for Thursday at 2pm. Reply if you need to reschedule.
to James (from your CSV)
Hey James, your appointment is confirmed for Friday at 10am. Reply if you need to reschedule.
How it works

Three steps from spreadsheet to delivered texts

No API setup. No new phone number. No carrier account.

Import your CSV file

Upload any CSV that has a phone number column and a name column. Exports from Google Sheets, Excel, HubSpot, Salesforce, Follow Up Boss, or any CRM work without reformatting. Text Your List reads the column headers automatically.

Write your message once

Type your message and use curly braces to pull in any column value — {first_name}, {city}, {order_number}. Preview how each message will look before sending.

Send from your real number

Text Your List runs on your computer and routes each message through your phone. Every contact receives a private text from your personal cell number — not a five-digit shortcode, not a business line, your actual number.

CSV structure

What your CSV needs to contain

Two required columns. Everything else is optional personalization.

The minimum CSV for SMS sending is a phone number column and a name column. Column headers become your merge field names. Any additional column — appointment date, city, order number, policy number, property address — becomes available as a merge field in your message template.

first_namephoneappointment_datecity
Sarah8015550101Thursday at 2pmProvo
James8015550102Friday at 10amOrem
Linda8015550103Monday at 9amLehi

With that CSV, your message could read: "Hey {first_name}, your appointment is set for {appointment_date} in {city}. Reply if you need to reschedule." — and every contact gets their specific details, not a generic blast.

"SMS messages have a 98% open rate. The difference between a response and no response is whether the message feels personal."
Gartner Research
Feature details

What Text Your List does with your CSV

Any column becomes a merge field

Column headers from your CSV are available as merge tokens immediately. No configuration, no mapping screen beyond identifying the phone number column. Reference any column as {column_header} in your message.

Preview before every send

See exactly how your message looks for a sample of your contacts before the send goes out. Contacts with missing merge field data are flagged so you can decide how to handle them.

Smart Throttle spacing

Sends go out one at a time with randomized timing between each message. The pattern looks like a real person texting rather than an automated script, which protects your number with carriers.

Save lists for reuse

Import once and save the list under a name. Reload it for future sends without re-uploading your CSV. Update a saved list whenever your data changes.

Works with any CSV source

Google Sheets, Excel, HubSpot, Salesforce, Follow Up Boss, kvCORE, any platform that exports contacts to CSV. No reformatting required as long as you have a phone column and a name column.

Replies land in your real Messages app

Because texts go from your actual phone number, replies come back as regular iMessages or SMS. No separate inbox to check, no platform notifications. Your contacts can text you back naturally.

Why it matters

CSV to SMS vs. the alternatives

Three approaches people try before finding a way that actually works.

Text Your List

Personal texts from your real number

  • Messages arrive from your personal cell
  • Recipients see your name if they have you saved
  • Replies are real two-way conversations
  • No carrier registration or opt-in forms
  • Works with any CSV export
Bulk SMS platforms

Shortcode or 10DLC blasts

  • Texts arrive from a 5-digit shortcode
  • Open rates lower because sender is unrecognized
  • Require TCPA opt-in documentation
  • Monthly carrier registration fees
  • Replies go to a platform inbox, not your phone
Manual texting

Copying and pasting one by one

  • Personal voice and real number — good
  • 90+ minutes to text 100 contacts — bad
  • Easy to forget contacts or lose track
  • No merge fields, copy-paste errors
  • Not sustainable at any scale
Common uses

Who sends CSV to SMS with Text Your List

Appointment reminders from a scheduling export

Export your appointments for the week as a CSV. Each row has a name, phone, and appointment time. Write one message with {first_name} and {appointment_time} as merge fields. Every client gets a personal reminder from your number in under five minutes.

Event follow-up from a sign-in sheet

Collect names, phone numbers, and notes at an event. Drop the sign-in sheet into a spreadsheet, export as CSV, and send a personal follow-up to every attendee the next morning. Each message references something specific about their visit.

Order or shipping updates from an e-commerce export

Export pending orders with customer names, phone numbers, and order details. A single message template with {first_name} and {order_number} sends each customer a personal status update from your number — not a shortcode blast.

CRM follow-up to a filtered contact segment

Filter your CRM by segment — leads who visited in the last 30 days, customers due for renewal, contacts in a specific city. Export that segment as CSV and send each person a message that references their specific situation.

Common questions about CSV to SMS

What format does my CSV need to be in for SMS sending?
Any standard comma-separated values file works. Export from Google Sheets via File > Download > CSV, or from Excel via File > Save As > CSV. You need at minimum a phone number column and a name column. Every other column automatically becomes an optional merge field you can use in your message.
Can I send personalized texts from a CSV with custom fields beyond first name?
Yes. Every column in your CSV becomes a merge field. Reference {city}, {order_number}, {appointment_date}, {property_address}, or any other column header. Each recipient gets the exact value from their row merged into their individual message.
Does CSV to SMS send from my real phone number or a shortcode?
Your real phone number. Text Your List runs on your computer and routes messages through your phone via Bluetooth (Mac) or Phone Link (Windows). Every text comes from your personal cell number, so recipients see your name if they have you saved — not a five-digit shortcode.
How many contacts can I send to from a single CSV file?
The free plan sends up to 50 texts per month. Starter sends up to 2,000 per month with unlimited list size per send. Pro sends up to 6,000 per month. All plans send one message at a time with Smart Throttle spacing to protect your number's reputation with carriers.
Will my carrier flag me as spam if I send texts from a CSV to hundreds of contacts?
Text Your List uses Smart Throttle to space sends with randomized timing between each message, so the pattern looks like a real person texting rather than an automated script. Because messages go from your real number to opted-in contacts you know, carrier spam detection rarely triggers for normal use. Cold lists or contacts who did not ask to hear from you are the primary risk factor, not the volume itself.
What happens if a cell in my CSV is blank for a merge field I used?
Text Your List lets you preview how each message will look for a sample of your contacts before you send. Contacts with missing data in a merge field are flagged in the preview so you can edit those rows or remove them before the send goes out.
Does CSV to SMS work with Excel files, or only CSV?
The import expects a CSV file. Excel files (.xlsx) need to be saved as CSV first: in Excel, go to File > Save As and choose CSV (Comma delimited). Google Sheets exports directly to CSV. Most CRM systems (HubSpot, Salesforce, Follow Up Boss, etc.) have a CSV export option in their contacts section.
Can I save a contact list so I do not have to re-import the CSV every time?
Yes. After importing, you can save the list under a name and reload it for future sends without uploading the CSV again. Update a saved list whenever your data changes.

Import your list and start texting personally

Free plan included. No credit card. Works on Mac and Windows.

Start free, no credit card See plans