ListFan
Text · Free

WhatsApp text export to CSV

Read a numeric-date WhatsApp text export, filter messages and prepare a local CSV archive.

01Enter your values

Runs in your browser

Runs offline in your browser. Once the page and required files have loaded, processing needs no internet.

Recognize numeric date and time headers, assign continuation lines to the preceding message, and separate the sender from the message at the first colon followed by a space. Apply an optional case-insensitive literal filter and quote CSV cells. Prefix spreadsheet formula-like cells with an apostrophe.

Example
Exported chat text

How it works

Read a numeric-date WhatsApp text export, filter messages and prepare a local CSV archive.

Paste text from Android or iOS exports with numeric dates and 12- or 24-hour times, up to 100000 characters. Choose day/month or month/day explicitly; four-digit year-first dates are recognized. Two-digit years mean 2000–2099. Media, ZIP files, named-month dates and ambiguous embedded message headers are not resolved. Review the table before archiving.

Your data stays yours

Inputs are processed on this page and are never sent to a server.

About this tool

Read a numeric-date WhatsApp text export, filter messages and prepare a local CSV archive.

Recognize numeric date and time headers, assign continuation lines to the preceding message, and separate the sender from the message at the first colon followed by a space. Apply an optional case-insensitive literal filter and quote CSV cells. Prefix spreadsheet formula-like cells with an apostrophe.

Use tool ↑

How to use it

  1. Enter your values

    Exported chat text · Numeric date order · Contains text

  2. Calculate / generate

    Read a numeric-date WhatsApp text export, filter messages and prepare a local CSV archive.

  3. Result

    "Date / timestamp","Time","Sender","Message" "2026-09-22","09:30:00","Ada","A!" "2026-09-22","09:31:00","Sam","B, Ada C"

Calculation method

  1. Recognize numeric date and time headers, assign continuation lines to the preceding message, and separate the sender from the message at the first colon followed by a space.
  2. Apply an optional case-insensitive literal filter and quote CSV cells.
  3. Prefix spreadsheet formula-like cells with an apostrophe.
Example scenario

WhatsApp text export to CSV

Exported chat text
22/09/2026, 09:30 - Ada: A! 22/09/2026, 09:31 - Sam: B, Ada C
Numeric date order
Day / month / year
Contains text
Result
"Date / timestamp","Time","Sender","Message"
"2026-09-22","09:30:00","Ada","A!"
"2026-09-22","09:31:00","Sam","B, Ada
C"

Frequently asked questions

Which chat exports are supported?

Paste text from Android or iOS exports with numeric dates and 12- or 24-hour times, up to 100000 characters. Choose day/month or month/day explicitly; four-digit year-first dates are recognized. Two-digit years mean 2000–2099. Media, ZIP files, named-month dates and ambiguous embedded message headers are not resolved. Review the table before archiving.

Where does my data go?

Calculations run on your device. Form inputs are not sent to a server.

Terms and definitions

Enter your values

Exported chat text

Paste the complete text to parse, including date/time headers. Continuation lines remain in the previous message. Maximum 100000 characters.

Enter the source text; it is processed locally.

Numeric date order

Match the original export. This changes date interpretation, not the timezone.

Choose the mode that matches the data you entered.

Options: Day / month / year · Month / day / year

Contains text

Optional literal text to find across date, time, sender and message; not a regular expression.

Enter the source text; it is processed locally.

Result

Result

Recognize numeric date and time headers, assign continuation lines to the preceding message, and separate the sender from the message at the first colon followed by a space. Apply an optional case-insensitive literal filter and quote CSV cells. Prefix spreadsheet formula-like cells with an apostrophe.

Calculated from your entries using the method below.

Total records

Number of parsed records before filtering.

Calculated from your entries using the method below.

Matching records

Number of records retained by the literal text filter.

Calculated from your entries using the method below.

Date / timestamp

Date or timestamp from the supplied export; no timezone conversion.

Calculated from your entries using the method below.

Time

Time recorded in the original chat, without a timezone assumption.

Calculated from your entries using the method below.

Sender

Sender text from the export; blank for system messages.

Calculated from your entries using the method below.

Message

Message text, including continuation lines.

Calculated from your entries using the method below.

Common mistakes and quick fixes

Date order

Mistake: Reading 04/05 as April 5 when the export means May 4.

Fix: Select day/month/year for May 4, or month/day/year for April 5. Compare with a known message.

Limits and key assumptions

  • Paste text from Android or iOS exports with numeric dates and 12- or 24-hour times, up to 100000 characters. Choose day/month or month/day explicitly; four-digit year-first dates are recognized. Two-digit years mean 2000–2099. Media, ZIP files, named-month dates and ambiguous embedded message headers are not resolved. Review the table before archiving.