Skip to content

Commit 5a9637b

Browse files
committed
update instructions in README
1 parent 5d12850 commit 5a9637b

1 file changed

Lines changed: 119 additions & 7 deletions

File tree

README.md

Lines changed: 119 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ Transform chat exports into geocoded activity suggestions.
66

77
## Overview
88

9-
ChatToMap extracts "things to do" from WhatsApp, iMessage, Telegram, and LINE exports - restaurants to try, places to visit, trips to take. It finds suggestions buried in years of chat history and puts them on a map.
9+
ChatToMap extracts "things to do" from WhatsApp, iMessage, Telegram, Facebook Messenger, and LINE exports - restaurants to try, places to visit, trips to take. It finds suggestions buried in years of chat history and puts them on a map.
1010

1111
**Features:**
12-
- Parse WhatsApp (iOS/Android), iMessage, Telegram Desktop JSON, and LINE text exports
12+
- Parse WhatsApp (iOS/Android), iMessage, Telegram Desktop JSON, Facebook Messenger JSON, and LINE text exports
1313
- Extract suggestions using multilingual regex patterns, embeddings, and URL detection
1414
- Classify with AI (activity vs errand, mappable vs general)
1515
- Scrape metadata from TikTok and YouTube links
@@ -46,6 +46,9 @@ chat-to-map analyze <input>
4646
# Telegram Desktop exports
4747
chat-to-map analyze "/path/to/ChatExport_2026-04-26/result.json"
4848

49+
# Facebook Messenger exports (one chat JSON at a time, extracted from messages.zip)
50+
chat-to-map analyze "/path/to/messages/Friend Name_15.json"
51+
4952
# LINE text exports
5053
chat-to-map analyze "/path/to/[LINE] Chat with Friends.txt"
5154

@@ -235,12 +238,121 @@ if (result.ok) {
235238
| Map | Interactive Leaflet.js HTML |
236239
| PDF | Printable report with summary |
237240

238-
## How to Export WhatsApp
241+
## How to Export Your Chats
242+
243+
Each messaging app has its own export flow. ChatToMap only needs the message **text**
244+
always pick the "without media" option when offered, both because ChatToMap doesn't use
245+
photos/videos and because it keeps the export much smaller.
246+
247+
### WhatsApp
248+
249+
**iPhone / iPad**
250+
1. Open WhatsApp and tap the chat you want to analyze.
251+
2. Tap the chat name at the top to open chat info.
252+
3. Scroll down and tap **Export Chat**.
253+
4. Choose **Without Media**.
254+
5. Save or share the resulting `.zip` file.
255+
256+
**Android**
257+
1. Open the chat in WhatsApp.
258+
2. Tap the ⋮ menu in the top-right.
259+
3. Tap **More****Export chat**.
260+
4. Choose **Without media**.
261+
5. Save or share the resulting `.zip` file.
262+
263+
**Desktop (macOS / Windows)**
264+
1. Open WhatsApp Desktop and right-click the chat.
265+
2. Choose **Export chat** from the context menu.
266+
3. Choose **Without media**.
267+
4. The `.zip` file is saved to your Downloads folder.
268+
269+
```bash
270+
chat-to-map analyze "WhatsApp Chat - Friends.zip"
271+
```
272+
273+
### iMessage
274+
275+
iMessage has no built-in export. The cleanest path is the open-source
276+
[`imessage-exporter`](https://github.com/ReagentX/imessage-exporter) tool, which reads
277+
your local iMessage database (or an iPhone backup) and writes one `.txt` file per
278+
conversation that ChatToMap can parse directly.
279+
280+
1. Install `imessage-exporter` via Homebrew or Cargo:
281+
```bash
282+
brew install imessage-exporter
283+
# or
284+
cargo install imessage-exporter
285+
```
286+
2. Grant your terminal **Full Disk Access** in System Settings → Privacy & Security so it
287+
can read `~/Library/Messages/chat.db`.
288+
3. Run the exporter in `txt` format:
289+
```bash
290+
imessage-exporter -f txt -o ~/imessage_export
291+
```
292+
On macOS this reads the local database. To export from an iPhone backup instead:
293+
```bash
294+
imessage-exporter -f txt -p ~/iphone_backup_latest -a iOS -o ~/imessage_export
295+
```
296+
4. The output folder contains one `.txt` file per chat, named after the contact or group.
297+
Pass any one of those files to ChatToMap:
298+
299+
```bash
300+
chat-to-map analyze "~/imessage_export/Friend Name.txt"
301+
```
302+
303+
Your messages never leave your computer — both `imessage-exporter` and `chat-to-map` run
304+
locally.
305+
306+
### Telegram
307+
308+
Telegram chat exports are **only available from Telegram Desktop**. Mobile Telegram apps
309+
(iOS / Android) cannot export chat history. On macOS the App Store version is called
310+
**Telegram Lite** — install from <https://desktop.telegram.org/>, *not* the older
311+
`macos.telegram.org` build, which doesn't support export.
239312

240-
1. Open WhatsApp chat
241-
2. Tap ⋮ → More → Export chat
242-
3. Choose "Without media"
243-
4. Save the .zip file
313+
1. Open Telegram Desktop and sign in to the account that has the chat.
314+
2. Open the private chat, group, or channel you want to export.
315+
3. Use the chat menu → **Export chat history**.
316+
4. Choose the **machine-readable JSON** format when prompted.
317+
5. Telegram writes a `result.json` file and any selected media into an export folder. Keep
318+
the folder intact or zip it up.
319+
320+
```bash
321+
chat-to-map analyze "/path/to/ChatExport_2026-04-26/result.json"
322+
# or a zipped folder
323+
chat-to-map analyze "telegram-export.zip"
324+
```
325+
326+
### Facebook Messenger
327+
328+
Messenger exports `messages.zip`, which contains every conversation as separate JSON files.
329+
Extract it locally and pass one chat at a time.
330+
331+
1. On a computer, visit <https://www.messenger.com/secure_storage/dyi>.
332+
2. **Uncheck "Media"** — ChatToMap only uses message text and leaving it on makes the
333+
export 10× larger.
334+
3. Pick your date range (e.g. **All time**).
335+
4. Click **Download file** and wait. Messenger needs to assemble the archive — this can
336+
take **5–10 minutes** for large accounts.
337+
5. When the file is ready, save `messages.zip` to your computer.
338+
6. Double-click `messages.zip` to extract it. You'll see one `.json` file per conversation,
339+
named like `Friend Name_15.json`.
340+
341+
```bash
342+
chat-to-map analyze "messages/Friend Name_15.json"
343+
```
344+
345+
### LINE
346+
347+
1. In LINE, open the chat you want to analyze.
348+
2. Use **Settings → Export chat history** for that conversation.
349+
3. Save the resulting `.txt` file (or the folder/zip if LINE includes media).
350+
4. Don't edit the exported text before passing it in — the parser reads LINE's original
351+
format.
352+
353+
```bash
354+
chat-to-map analyze "[LINE] Chat with Friends.txt"
355+
```
244356

245357
## Supported Languages
246358

0 commit comments

Comments
 (0)