> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chatsyncs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How Do I Import Subscribers Using a CSV File with ChatSyncs?

> Step-by-step guide to bulk-importing subscribers into ChatSyncs from a CSV file — required columns, the Excel scientific-notation bug, and column mapping.

## When to use CSV import

Use CSV import when you already have a spreadsheet of contacts — exported from another tool, a
sales list, an event sign-up sheet — and want to bring them all into ChatSyncs at once, instead
of adding them one at a time or waiting for each person to message the bot first. It's the
fastest way to seed [Subscriber Manager](/learn/chatsyncs-subscriber-manager/introduction) with an existing
contact list.

<Tip>
  Already have subscribers in ChatSyncs and want to go the other way? **Export/Import → Export
  all as CSV** on the Subscriber Manager list exports the current list as a CSV file — handy for
  editing offline before re-importing, or for a backup.
</Tip>

Only have a handful of contacts, or contacts already living in a Google Sheet or your Google
account? See [How Do I Add a Subscriber Manually?](/learn/chatsyncs-subscriber-manager/add-a-subscriber-manually-with-chatsyncs),
[How Do I Import Subscribers from Google Sheets?](/learn/chatsyncs-subscriber-manager/import-subscribers-from-google-sheets-with-chatsyncs), or
[How to Import Contacts from Google Contacts](/learn/chatsyncs-subscriber-manager/import-contacts-from-google-contacts-in-chatsyncs) instead.

## Import a CSV file

<Frame>
  <img src="https://mintcdn.com/chatsyncs/7T4ET-dtKlNp2O4n/images/learn/whatsapp-subscriber-manager/step-07-import-subscribers-modal.png?fit=max&auto=format&n=7T4ET-dtKlNp2O4n&q=85&s=1b1d228f79f2c622a425f2eb9483bfae" alt="Import Subscribers modal with Select Label, Select Bot, Upload File (CSV), Import from Google Sheet, and Import from Google Contacts" width="776" height="629" data-path="images/learn/whatsapp-subscriber-manager/step-07-import-subscribers-modal.png" />
</Frame>

<Steps>
  <Step title="Open Export/Import → Import from CSV">From the Subscriber Manager list, open **Export/Import**, then **Import from CSV**.</Step>
  <Step title="Select a Label and Bot">**Select Label** is optional — tag every imported subscriber with it right away (e.g. `batch1`). **Select Bot** is required — pick which bot the imported subscribers belong to.</Step>
  <Step title="Prepare your file to match the required format">At minimum, your CSV needs a phone number column and a name column — see the table below. A **Sample CSV** link in the modal shows the exact expected format.</Step>
  <Step title="Upload the file">Select your prepared CSV file to upload it.</Step>
  <Step title="Map each column">Match each column in your file to a ChatSyncs field — see "Map the columns" below.</Step>
  <Step title="Confirm the import">Click **Confirm** — the imported contacts appear in the Subscriber Manager list.</Step>
</Steps>

## The CSV format

A CSV needs at minimum a phone number and name column, e.g.:

| phone\_number | name   |
| ------------- | ------ |
| 919876543210  | User 1 |
| 919876543211  | User 2 |

**Example with extra columns:** A gym exporting its members list adds `city` and
`membership_type` columns alongside the required two:

| phone\_number | name         | city      | membership\_type |
| ------------- | ------------ | --------- | ---------------- |
| 919876543210  | Priya Sharma | Bangalore | Gold             |
| 919876543211  | Raj Verma    | Mumbai    | Silver           |

After import, every subscriber has `city` and `membership_type` filled in automatically as
custom fields — no extra setup needed as long as those fields already exist (or ChatSyncs creates
them from the column header the first time you map them).

<Warning>
  **Country code is mandatory, and the phone number must be plain digits** — e.g. `919876543210`,
  not `+91 9876543210` or a locally-formatted number. A number missing its country code, or
  formatted with symbols and spaces, will fail to match the right subscriber.
</Warning>

<Warning>
  **Format the phone number column as plain numbers or text before exporting to CSV** — Excel
  often displays long phone numbers in scientific notation (e.g. `8.8E+12` instead of
  `8801710000000`), and a CSV exported in that state will import garbled or truncated numbers.

  <Frame caption="A phone_number column displayed in scientific notation (8.8E+12) before formatting.">
    <img src="https://mintcdn.com/chatsyncs/sOr8zsZPH59fQo2F/images/learn/whatsapp-subscriber-manager/step-08-csv-scientific-notation-bug.png?fit=max&auto=format&n=sOr8zsZPH59fQo2F&q=85&s=b1ccb981db52010cb3bde2e9aa85dcf4" alt="Excel spreadsheet with phone_number column showing scientific notation like 8.8E+12" width="1261" height="627" data-path="images/learn/whatsapp-subscriber-manager/step-08-csv-scientific-notation-bug.png" />
  </Frame>

  Fix it in Excel with **right-click → Format Cells** on the column, set it to **Number** with
  **0 decimal places** (or **Text**), before saving as CSV:

  <Frame caption="Right-clicking the phone_number column and selecting Format Cells to fix the display.">
    <img src="https://mintcdn.com/chatsyncs/sOr8zsZPH59fQo2F/images/learn/whatsapp-subscriber-manager/step-09-excel-format-cells.png?fit=max&auto=format&n=sOr8zsZPH59fQo2F&q=85&s=e159f763fd5d068cd94cb5ddeb3f6c5a" alt="Excel right-click context menu with Format Cells highlighted on the phone_number column" width="1272" height="655" data-path="images/learn/whatsapp-subscriber-manager/step-09-excel-format-cells.png" />
  </Frame>

  <Frame caption="The phone_number column after formatting — full numbers like 8801710000000 instead of scientific notation.">
    <img src="https://mintcdn.com/chatsyncs/sOr8zsZPH59fQo2F/images/learn/whatsapp-subscriber-manager/step-10-csv-fixed-numbers.png?fit=max&auto=format&n=sOr8zsZPH59fQo2F&q=85&s=07b750ef30d2f88f93883856c071ba9d" alt="Excel spreadsheet with phone_number column showing correctly formatted full phone numbers" width="1259" height="620" data-path="images/learn/whatsapp-subscriber-manager/step-10-csv-fixed-numbers.png" />
  </Frame>
</Warning>

## Map the columns

<Frame>
  <img src="https://mintcdn.com/chatsyncs/7T4ET-dtKlNp2O4n/images/learn/whatsapp-subscriber-manager/step-11-map-data-fields.png?fit=max&auto=format&n=7T4ET-dtKlNp2O4n&q=85&s=79c5ab36c1eb4a068f37cb5f5d1f6fdb" alt="Sample Data of Uploaded CSV/Google-Sheet modal showing a preview of the file's rows, with File Header columns mapped to Data Fields (Subscriber Name, Phone Number) and a Map Data button to add more mappings" width="772" height="737" data-path="images/learn/whatsapp-subscriber-manager/step-11-map-data-fields.png" />
</Frame>

After uploading, map each column from your file to a ChatSyncs field:

* Map `phone_number` → **Phone Number**.
* Map `name` → **Subscriber Name**.
* Verify every mapping carefully before confirming — a wrong mapping imports the wrong data into
  the wrong field for every row.

<Tip>
  Any extra column beyond phone number and name is treated as a **[custom field](/learn/chatsyncs-subscriber-manager/manage-custom-fields-and-labels-with-chatsyncs#custom-fields)**
  automatically. If the subscriber already exists (matched by phone number), that custom field is
  updated on the existing record; if not, a new subscriber is created with it already filled in.
</Tip>

**Expected result:** Every row in your file becomes a subscriber in Subscriber Manager, with
extra columns populated as custom fields — ready to label, message, or enroll in a sequence
immediately.

<Tip>
  Right after a large import, use **Options → Assign Label** on the newly-imported rows (sort by
  **Subscribed at** to find them) so the whole batch is tagged and easy to find again later — e.g.
  `gym_members_jan2026`.
</Tip>

## Troubleshooting

| Problem                                                             | Likely cause                                           | Fix                                                                                            |
| ------------------------------------------------------------------- | ------------------------------------------------------ | ---------------------------------------------------------------------------------------------- |
| Import fails immediately                                            | Missing `phone_number` or `name` column                | Check your header row matches the **Sample CSV** exactly.                                      |
| Numbers show as `8.8E+12`                                           | Excel scientific notation                              | Format the column as **Number** (0 decimals) or **Text** before saving — see above.            |
| A row didn't import                                                 | Blank phone number, or a duplicate header row mid-file | Remove blank rows and check for a second accidental header row.                                |
| Names show as `?????` or garbled characters                         | File saved with the wrong encoding                     | Save the CSV as **UTF-8** so non-English names (e.g. Hindi, Arabic script) survive the export. |
| Some rows updated existing subscribers instead of creating new ones | Their phone number already existed in ChatSyncs        | Expected behavior — see the FAQ below on importing an existing phone number.                   |

## Frequently asked

<AccordionGroup>
  <Accordion title="What columns does my CSV file need at minimum?">
    A `phone_number` column and a `name` column. Any other column is imported automatically as
    a custom field.
  </Accordion>

  <Accordion title="Can I import custom fields along with my subscribers?">
    Yes — any column beyond `phone_number` and `name` is imported automatically as a
    [custom field](/learn/chatsyncs-subscriber-manager/manage-custom-fields-and-labels-with-chatsyncs#custom-fields), matched by
    its column header.
  </Accordion>

  <Accordion title="Why do my imported phone numbers look wrong or truncated?">
    Excel often displays long phone numbers in scientific notation (`8.8E+12`). Format the
    phone number column as **Number** (0 decimal places) or **Text** — right-click → **Format
    Cells** — before saving the file as CSV, or the import will bring in the garbled value.
  </Accordion>

  <Accordion title="What happens if I import a phone number that's already a subscriber?">
    The existing subscriber record is matched by phone number and updated — any new custom
    field columns are added or overwritten, rather than creating a duplicate.
  </Accordion>

  <Accordion title="Do I need the country code in the phone number column?">
    Yes — the country code is mandatory and the number should be plain digits with no `+` or
    spaces, e.g. `919876543210`.
  </Accordion>

  <Accordion title="Can I preview the expected file format before uploading?">
    Yes — the Import Subscribers modal has a **Sample CSV** link showing the exact expected
    column layout.
  </Accordion>

  <Accordion title="My subscribers' names show as question marks or broken characters after import.">
    The file was likely saved in the wrong text encoding. Re-save the CSV as **UTF-8** — most
    spreadsheet tools offer this as a save/export option — before uploading again.
  </Accordion>

  <Accordion title="Is there a limit to how many rows I can import in one CSV?">
    Very large files may take longer to process, but there's no need to split a normal
    business-sized contact list — if a single import seems to stall, try splitting it into a
    few smaller files as a workaround.
  </Accordion>

  <Accordion title="Can I import the same CSV file twice without creating duplicates?">
    Yes — every row is matched by phone number. Re-importing the same file updates the existing
    subscribers (and any changed custom field values) instead of duplicating them.
  </Accordion>
</AccordionGroup>

## Related Documentation

* [Subscriber Manager](/learn/chatsyncs-subscriber-manager/introduction) — the subscriber list, Options menu,
  and Download(all) as CSV.
* [How Do I Manage Custom Fields and Labels?](/learn/chatsyncs-subscriber-manager/manage-custom-fields-and-labels-with-chatsyncs) — how imported
  columns become custom fields.
* [How Do I Add a Subscriber Manually?](/learn/chatsyncs-subscriber-manager/add-a-subscriber-manually-with-chatsyncs) — for adding one
  contact at a time instead.
* [How Do I Import Subscribers from Google Sheets?](/learn/chatsyncs-subscriber-manager/import-subscribers-from-google-sheets-with-chatsyncs) — for importing
  without exporting a CSV file first.
* [How to Import Contacts from Google Contacts](/learn/chatsyncs-subscriber-manager/import-contacts-from-google-contacts-in-chatsyncs) — for
  importing straight from your Google account's saved contacts.
