Was steckt in einer WhatsApp-Chat-Export-Datei (.txt)?
Ein WhatsApp-Chat-Export ist eine einfache UTF-8 .txt-Datei mit einer Nachricht pro Zeile im Format <Zeitstempel> - <Absender>: <Nachricht>. Das Format des Zeitstempels hängt von den Regionaleinstellungen deines Handys ab. Mediennachrichten werden durch <Medien ausgeschlossen> ersetzt. Systemereignisse (Beitritte, Austritte, Änderungen) erscheinen direkt im Text ohne Absender.
Wie sieht eine einzelne Zeile aus?
Die typische Form auf einem deutschen Handy:
14.06.2026, 21:07 - Alex Turner: Gehen wir am Freitag noch essen?
Aufgeschlüsselt:
14.06.2026— Datum, TT.MM.JJJJ.21:07— Uhrzeit, 24-Stunden-Format HH:MM (ohne Sekunden).-— Trennzeichen (Leerzeichen, Bindestrich, Leerzeichen).Alex Turner— Der Kontaktname des Absenders, wie er in deinem Adressbuch steht.:— Trenner zwischen Absender und Nachricht.Gehen wir am Freitag noch essen?— Der Inhalt der Nachricht.
Auf einem US-Handy wird dieselbe Zeile zu 6/14/26, 9:07 PM - Alex Turner: Are we still doing dinner Friday?. Gleiche Datei, anderes Format — ein Parser, der nur einen Stil erwartet, wird beim anderen scheitern.
Wie werden mehrzeilige Nachrichten dargestellt?
Nur die erste Zeile trägt einen Zeitstempel. Jeder Zeilenumbruch innerhalb der Originalnachricht erzeugt nackte Folgezeilen:
14.06.2026, 21:08 - Alex Turner: Drei Dinge:
1. Pizza oder Sushi
2. 19:00 oder 20:00
3. Bei wem?
Ein robuster Parser liest Zeile für Zeile, und wenn eine Zeile nicht mit einem Zeitstempel beginnt, hängt er sie an die vorherige Nachricht an.
Welche speziellen Zeilentypen gibt es?
Vier Kategorien jenseits normaler Nachrichten:
- Medien-Platzhalter —
<Medien ausgeschlossen>in deutschen Exporten (lokalisiert in anderen Sprachen). - Sprachnachrichten — oft ebenfalls
<Medien ausgeschlossen>, manche Versionen schreiben jedochAudio weggelassen. - Gelöschte Nachrichten —
Diese Nachricht wurde gelöscht. - Systemereignisse — kein Absender, kein Doppelpunkt. Beispiele:
Alex hat Sam hinzugefügt,Der Gruppenname wurde in „Trip 2026“ geändert,Nachrichten und Anrufe sind Ende-zu-Ende verschlüsselt.
Der Hinweis zur Ende-zu-Ende-Verschlüsselung erscheint immer als zweite Zeile der Datei. Es ist keine echte Nachricht — filtere sie heraus.
Wie unterscheidet sich das Format je nach Sprache?
Der Inhalt der Nachrichten bleibt unverändert, aber die festen Zeichenfolgen werden lokalisiert. <Media omitted> wird zu <Medien ausgeschlossen> im Deutschen, <Média absent> im Französischen usw. Das Trennzeichen - zwischen Zeitstempel und Absender ist universell, aber der Verschlüsselungshinweis und die Systemereignisse ändern sich.
Für einen mehrsprachigen Chat ist das wichtig. Ein Parser, der nach der Zeichenfolge „Medien ausgeschlossen“ sucht, wird englische Exporte übersehen. Nutze stattdessen die strukturelle Position (Zeile hat einen Zeitstempel, aber keinen Doppelpunkt : ).
Was ist nicht in der Datei enthalten?
Dinge, die du vielleicht erwartest, aber nicht findest:
- Reaktionen (Emoji-Tipps auf Nachrichten) — werden komplett weggelassen.
- Antwort-Kontext — eine Antwort erscheint als normale Nachricht ohne Verweis darauf, worauf sie sich bezieht.
- Lesebestätigungen und Zustellstatus — werden nicht exportiert.
- Profilbilder oder Namensänderungen — fallen weg.
- Umfrage-Ergebnisse — der Umfragetext erscheint; die einzelnen Stimmen jedoch nicht.
Der Export ist ein Textprotokoll, kein vollständiger Daten-Dump. Wenn dein Anwendungsfall auf den oben genannten Punkten basiert, ist der Export nicht geeignet.
Wie parst man das am besten?
Der pragmatische Ansatz: Regex auf den Zeitstempel, Trennung am -, Trennung des Rests am ersten : . Pseudocode:
LINE_REGEX = /^(\d{1,2}\.\d{1,2}\.\d{2,4}), (\d{1,2}:\d{2}(?:\s?[AP]M)?) - (.+)$/
Wenn eine Zeile nicht passt, betrachte sie als Fortsetzung der vorherigen Nachricht. Wenn eine Zeile passt, aber keinen Doppelpunkt : in der dritten Gruppe hat, ist es ein Systemereignis.
Genau das macht WhatsQuiz clientseitig, bevor nur die extrahierten strukturierten Inhalte zur Fragenerstellung gesendet werden — die Rohdatei verlässt nie deinen Browser.
Warum ist das Format wichtig?
Weil die Struktur der Datei dir sagt, was möglich ist:
- Zeitstempel bedeuten, du kannst nach Uhrzeit auswerten (wer schreibt um 2 Uhr nachts?).
- Absendernamen bedeuten, du kannst nach Volumen ranken (wer dominiert den Chat?).
- Nachrichtentexte bedeuten, du kannst nach Insider-Witzen suchen.
- Das Fehlen von Reaktionen bedeutet, dass du nicht messen kannst, welche Nachricht die meisten Lacher geerntet hat, ohne es aus den Antworten abzuleiten.
Für Quiz-Generierung, das Finden von Reden-Material oder Gruppenchat-Rückblicke ist das Format mehr als ausreichend — solange dein Parser mehrzeilige Nachrichten und regionale Datumsformate beherrscht.
Wo das Format in deiner App auftaucht
Wenn du selbst auf Basis von Exporten entwickelst, sind die zwei Stolpersteine, die fast jeden ersten Parser killen: (1) das regionale Datumsformat und (2) die mehrzeiligen Fortsetzungen. Löse diese beiden Punkte, und du hast 95 % der realen Parsing-Bugs im Griff.
Wenn du das Parsen komplett überspringen willst, lade die Datei bei WhatsQuiz hoch. Du erhältst ein fertiges Quiz, ohne jemals selbst den Text anfassen zu müssen.
Häufige Fragen
Ist die Export-Datei verschlüsselt?
Nein. Einmal exportiert, ist die Datei einfacher UTF-8-Text. Die Ende-zu-Ende-Verschlüsselung von WhatsApp schützt Nachrichten während der Übertragung und innerhalb der App — der Export ist eine bewusste Kopie, die du erstellt hast, und verlässt den verschlüsselten Bereich.
Kann ich die Datei in Excel öffnen?
Nicht ohne Weiteres. Excel weiß nicht, wie es die Spalten für Zeitstempel, Absender und Nachricht trennen soll. Importiere sie als tabulatorgetrennte Datei, nachdem du die Trennzeichen konvertiert hast, oder nutze einen Parser. Die meisten Leute öffnen sie einfach im Texteditor.
Welches Datumsformat nutzt der Export?
Es entspricht den Regionaleinstellungen deines Handys. Deutsche/EU-Handys erzeugen meist TT.MM.JJ, HH:MM. US-Handys erzeugen M/D/YY, H:MM AM/PM. Das ist die häufigste Fehlerquelle für Parser.
Warum haben manche Zeilen keinen Zeitstempel?
Mehrzeilige Nachrichten (eine Nachricht mit einem Zeilenumbruch) erscheinen im Export als mehrere Zeilen. Nur die erste Zeile hat den Zeitstempel; die Folgezeilen sind nackter Text. Parser müssen diese wieder zusammenfügen.