Snapchat Memories mit allen Metadaten & Captions exportieren
Der Export deiner Snapchat Memories mitsamt aller Metadaten und Captions ist nicht so trivial, wie es auf den ersten Blick scheint. In diesem Beitrag erfährst du, wie es geht, damit auch du deine Memories herunterladen kannst.
Aufbau dieses Artikels
- Einleitung
- Datenexport bei Snapchat beantragen
- Download mit Python-Skript
- Korrupte Dateien wiederherstellen
- Skripte & Downloads bereinigen
- Fazit
- Links
Einleitung
Das im Titel erwähnte Unterfangen klingt auf den ersten Blick wie eine Kleinigkeit, welche innert weniger Minuten erledigt ist. Doch bei genauerem Betrachten zeigt sich, dass dies kein triviales Unterfangen ist, da der von Snapchat bereitgestellte Export nicht sonderlich benutzerfreundlich ist.
Vielleicht stellst du dir die Frage, worum man überhaupt seine Snapchat Memories exportieren möchte. Das kann folgende Gründe haben:
- Seit kurzem (September 2025) muss man bei Snapchat für den Speicherplatz der Memories bezahlen, wenn man mehr als 5GB in den Memories gespeichert hat. Durch den Download kann man die Daten bei Snapchat löschen und somit Geld sparen. (Quelle)
- Du möchtest eine eigene Software zur Anzeige deiner Bilder verwenden.
- Du möchtest all deine Erinnerungen an einem Ort ablegen.
- Du möchtest die Kontrolle über deine Daten haben oder dein Konto bei Snapchat schliessen.
Du fragst dich, warum du nicht einfach am Smartphone alle Memories markieren und in der Galerie speichern solltest? Darum:
- Du kannst nur 100 Snaps gleichzeitig markieren.
- Du kannst nicht alle Snaps mit einem Klick markieren, sondern lediglich die Snaps pro Monat.
- Der manuelle Prozess ist mühsam & zeitaufwändig (vor allem wenn man viele Memories hat).
Und über den Datenschutz-Export geht's nicht? Jein. Die Metadaten (Aufnahmezeitpunkt & Standort) werden dabei nicht exportiert und die Captions (Titel, Filter & Effekte) werden als separate Bilder in einer ZIP-Datei bereitgestellt. Das bedeutet für dich: Mühsame Handarbeit beim Zusammenführen dieser einzelnen Informationen.
Gibt es da keine Lösung? Doch, die Open-Source Community (allen voran GitHub User ToTheMax) hat eine Lösung geschaffen. Ein Python-Skript, dass die Memories von Snapchat herunterlädt und die einzelnen Informationen zusammenführt. Die Lösung läuft noch nicht ganz reibungslos und es ist etwas ein Gebastel. Damit du dir den ganzen Aufwand mit dem Zusammensuchen aller Infos sparen kannst, habe ich das Vorgehen in diesem Blogpost zusammengefasst.
Datenexport bei Snapchat beantragen
Als Erstes musst du einen Datenexport bei Snapchat beantragen. Am einfachsten geht dies am Computer. Du kannst den Export auch am Smartphone beantragen (Snapchat öffnen -> auf Bitmoji oben links klicken -> Einstellungen -> Meine Daten), für die späteren Schritte benötigst du jedoch einen Computer, um Python-Skripte ausführen zu können.
Öffne die Seite accounts.snapchat.com/v2/download-my-data in einem Browser und melde dich mit deinem Snapchat Account an.

Du landest auf folgender Seite:

Aktiviere nun den Schalter neben "Deine Memorys exportieren" sowie "JSON-Dateien exportieren". Alle anderen Haken kannst du deaktiviert lassen.

Scrolle dann nach unten und klicke auf "Weiter".

Nun kannst du auswählen, von welchem Datumsbereich du deine Memories exportieren möchstest. Da ich alle meine Memories exportieren wollte, habe ich mich für die Option "Immer" entschieden.

Stelle anschliessend sicher, dass deine E-Mail-Adresse im Feld "Bestätige deine E-Mail-Adresse" stimmt und klicke dann auf "Senden".

Dein Exportauftrag wurde erstellt. Es dauert nun einige Stunden bis Tage, bis deine Daten bereit sind. Die Dauer des Prozesses ist abhängig davon, wie viele Daten du bei Snapchat gespeichert hast.

Du erhältst eine E-Mail von Snapchat, sobald der Datenexport fertig ist. Bevor du fortfahren kannst, musst du nun den Abschluss des Datenexports abwarten.
Wenn dein Datenexport fertig ist, musst du erneut die Seite "Meine Daten" von Snapchat öffnen. Du findest diese in der E-Mail von Snapchat oder mit dem zu Beginn erwähnten Link.

Klicke auf "Exporte anzeigen" und lade anschliessend deinen Datenexport herunter.

Es wird eine Datei mit dem Namen mydata~XXXXXXXXX.zip heruntergeladen.

Das ZIP-Archiv hat folgenden Aufbau:
mydata~XXXXXXXXX.zip
├── html
│ ├── faq.html
│ └── memories_history.html
├── index.html
└── json
└── memories_history.jsonAufbau des Datenexports
Das Archiv enthält nicht direkt deine Memories als Datei, sondern lediglich eine JSON-Datei mit Metadaten dazu und Links um diese herunterzuladen.
Im Archiv findest du eine Datei mit dem Namen index.html. Wenn du diese Datei öffnest findest du Fragen zu häufig gestellten Fragen sowie eine Übersicht über all deine Memories, mit der Möglichkeit diese herunterzuladen.


Wenn du den Download über diese Datei machst, werden deine Memories zwar heruntergeladen, jedoch ohne jegliche Metadaten. Das heisst du hast jedes Bild/Video deiner Memories als Datei, jedoch ohne Aufnahmedatum, Standort und auch ohne Captions (Texte und Effekte auf dem Bild). Alle Snaps mit Captions werden zudem als eigene ZIP-Datei und nicht als Bild heruntergeladen. Diese enthält dann Caption sowie Bild separat, welche du manuell zusammenführen musst.
Download mit Python-Skript
Damit du Caption und Bild nicht manuell zusammenfügen und die Metadaten eintragen musst, kannst du ein Python-Skript verwenden, welches diese Schritte für dich macht. Hiermit kannst du eine Menge Zeit sparen.
Ich verwende hierfür das Tool "Snapchat-All-Memories-Downloader" von GitHub User ToTheMax sowie den Fork (Abspaltung) bzw. Pull Request von AndrewMitchell25.
Was ist ein Fork?
Bei der Entwicklung von Software gibt es die Möglichkeit einen sogenannten Fork zu erstellen. Hierbei handelt es sich um eine Abspaltung des Quellcodes hinter der Software. Mit einer solchen Abspaltung kann der aktuelle Stand einer Software übernommen und unabhängig von der ursprünglichen Historie weiter entwickelt werden. Wenn man sich die Entwicklung einer Software wie ein Baum vorstellt, entsteht hierbei ein neuer Zweig/Ast.
Ein Fork kann beispielsweise erstellt werden, um eine einzelne neue Funktion in einer Software einzubauen, welche später zum ursprünglichen Code hinzugefügt werden kann. Die Anfrage die Änderungen eines Forks wieder in den ursprünglichen Code zu integrieren, wird "Pull Request" genannt. Ein Fork kann aber auch verwendet werden, um aufbauend auf einer bestehenden Software eine neue Lösung zu entwickeln, welche seine eigenen Ziele und Wege verfolgt.
Weitere Details siehe Wikipedia.
- Öffne das Terminal auf deinem Computer. Unter Windows kannst du PowerShell verwenden.
- Für die nächsten Schritte benötigst du Git. Unter macOS und Linux ist Git vorinstalliert. Unter Windows kannst du Git ganz leicht mit WinGet installieren.
Prüfen, ob Git installiert ist:git --version
Git mit WinGet installieren:winget install --id Git.Git -e --source winget - Klone das GitHub Repository.
Befehl:git clone https://github.com/ToTheMax/Snapchat-All-Memories-Downloader.git - Wechsle in das Verzeichnis des geklonten Git-Repositories
Befehl:cd Snapchat-All-Memories-Downloader - Lade den Pull Request von AndrewMitchell25 herunter
Befehl:git fetch origin pull/108/head:overlay-support - Wechsle in den eben geklonten Branch (Pull Request mit der Unterstützung für Captions)
Befehl:git switch overlay-support - Kopiere nun das ZIP-Archiv (Datenexport) von Snapchat in das aktuelle Verzeichnis. Du kannst das sowohl über die grafische Benutzeroberfläche als auch über das Terminal machen.
Damit du weisst, in welchen Ordner du dich momentan befindest, kannst du den Befehlpwdausführen. Dieser zeigt dir das aktuelle Verzeichnis an.
Wenn sich dein Export in deinen Downloads befindet, kannst du folgenden Befehl verwenden (passe die Ordnernamen an deine Umgebung an):
macOS/Linux:cp /Users/benutzername/Downloads/mydata~XXXXXXX.zip .
Windows:cp C:\Users\benutzername\Downloads\mydata~XXXXXXX.zip . - Entpacke das ZIP-Archiv
Befehl macOS/Linux:unzip mydata~XXXXXXX.zip
Befehl Windows (PowerShell):Expand-Archive -Path mydata~XXXXXXX.zip - Für den nächsten Schritt wird Python benötigt. Unter macOS & Linux ist dies bereits vorinstalliert. Unter Windows kannst du Python mittels WinGet installieren.
Befehl Windows:winget install --id=Python.Python.3.13 -e - Erstelle eine virtuelle Python Umgebung
Befehl macOS/Linux:python3 -m venv venv/
Befehl Windows:py -m venv venv\ - Virtuelle Python-Umgebung aktivieren:
Befehl macOS/Linux:source venv/bin/activate
Befehl Windows:venv\Scripts\activate - Installiere die Requirements
Befehl:pip install -r requirements.txt
Wenn sich der Befehl nicht ausführen lässt, ersetzepipim Befehl durchpip3. - Nun kannst du das Python-Skript endlich ausführen
Befehl:python main.py - Der Download beginnt nun. Abhängig von der Datenmenge und deiner Internet-Geschwindigkeit kann dies einen Moment dauern. Warte bis der Vorgang abgeschlossen ist.

Es kann während dem Download zu Fehlermeldungen bei einzelnen Dateien kommen. Diese Dateien musst du später manuell prüfen.

Der Prozess ist abgeschlossen, wenn 100% erreicht wurden und angezeigt wird, wie viele Dateien heruntergeladen wurden.

- Im aktuellen Ordner existiert nun ein neuer Ordner
downloads. Darin befinden sich alle heruntergeladenen Memories.
Snapchat-All-Memories-Downloader
├── downloads <-- heruntergeladene Memories
├── html
├── json
└── venv
├── bin
├── include
└── libOrdner mit heruntergeladenen Inhalten
Korrupte Dateien wiederherstellen
Wenn du die heruntergeladenen Dateien ansiehst/durchgehst, fällt dir möglicherweise auf, dass einige Videodateien kein Vorschau-Icon besitzen und beim Abspielen nur die Tonspur zu hören ist.


Im folgenden werde ich diese Dateien als "korrupt" bezeichnen.
Um herauszufinden, welche Dateien korrupt sind, habe ich ChatGPT gebeten, mir ein Skript zu erstellen, welches alle .mp4-Dateien angibt, welche nur eine Audiospur besitzen.

Korrupte Files finden - Skript (Quelle: ChatGPT)
Ich habe nach einer Möglichkeit gesucht, um an die unbeschädigten Dateien zu kommen. Dabei habe ich herausgefunden, dass dieser Fehler mit dem ursprünglichen Skript (Version vor dem Pull Request) nicht auftritt. Diese Dateien sind dann zwar ohne Captions, dafür lassen sich diese korrekt abspielen. Dieser Kompromiss ist meines Erachtens in Ordnung.
Alternativ kannst du die beschädigen Dateien manuell am Smartphone in der Snapchat App exportieren und ablegen.
Damit du die unbeschädigten Dateien erhalten kannst, musst du also das Skript auch in der ursprünglichen Version ausführen.
- Wechsle hierzu in den
main-Branch.
Befehl:git checkout main - Benenne den Ordner mit den heruntergeladenen Memories um
Befehl:mv downloads downloads-with-captions - Installiere die Requirements
Befehl:pip install -r requirements.txt - Führe nun das Skript ohne Captions aus & warte ab, bis der Prozess abgeschlossen ist
Befehl:python main.py - Benennen den Ordner im Anschluss ebenfalls um
Befehl:mv downloads downloads-no-captions - Lade mein Skript herunter, welches die korrupten Dateien erkennt.
Befehl:curl -o find-corrupt-snaps.py https://gist.githubusercontent.com/michivonah/ab033b1195aaba493d55235814beeafb/raw/301a6edbfaf460e7b229ca8e29cc18fde24c4d08/find-corrupt-snaps.py - Passe gegebenenfalls die Ordnernamen im Skript an (wenn du andere Namen als in meinem Beispiel verwendet hast)
Befehl:nano find-corrupt-snaps.py
# === Konfiguration ===
input_dir = r"./downloads-with-captions" # Ordner mit defekten Dateien
fixed_dir = r"./downloads-no-captions" # Ordner mit funktionierenden Dateien (UTC)
output_dir = r"./downloads-with-captions" # Zielordner für kopierte Dateien
json_path = os.path.join(input_dir, "corrupt-files.json")
find-corrupt-snaps.py
Wenn du nicht willst, dass die korrupten Dateien überschrieben werden, kannst du bei output_dir einen separaten Ordner definieren.
- Führe mein Skript aus
Befehl:python find-corrupt-snaps.py - Das Skript findet alle .mp4-Dateien ohne Videospur und kopiert diese in den angegebenen Ordner (standardmässig der Ordner, in welchem sich die Memories mit Caption befinden).
Nach der Ausführung gibt das Skript aus, welche Dateien erkannt und in den angegebenen Ordner kopiert wurden.

Zudem legt das Skript eine Datei mit dem Namen corrupt-files.json an. Darin sind nochmals die Pfade zu allen korrupten Dateien enthalten.
- Nun befinden sich alle deine Snapchat Memories (nach Möglichkeit mit Caption) im Ordner
downloads-with-captions.

downloads-with-captionsDie Dateien enthalten das korrekte Erstellungs-/Änderungsdatum sowie, falls vorhanden, die GPS-Koordinaten. Du kannst die Dateien nun von diesem Ordner aus, an den gewünschten Ort auf deiner Dateiablage kopieren.
Skripte & Downloads bereinigen
Nachdem du deine Snapchat Memories heruntergeladen und an den gewünschten Ort auf deiner Dateiablage kopiert/verschoben hast, empfiehlt es sich, die heruntergeladenen Skripte & Repositories wieder von deinem System zu entfernen.
- Deaktiviere hierfür zuerst deine virtuelle Python-Umgebung.
Befehl:deactivate - Navigiere nun einen Ordner zurück, sodass du nicht mehr im Ordner
Snapchat-All-Memories-Downloaderbist.
Befehl:cd ..
Hinweis: Wenn du zum Kopieren in einen anderen Ordner navigiert bist, musst du zuerst wieder ins Verzeichnis wechseln, in welchem du das GitHub Repository geklont hast. - Wenn du dich im richtigen Verzeichnis befindest, kannst du das GitHub Repository löschen.
Befehl:sudo rm -r Snapchat-All-Memories-Downloader - Zu guter letzt kannst du noch die Datei
mydata~XXXXXXX.zipin deinen Downloads löschen und das Terminal schliessen.
Fazit
Wie du siehst, ist der Export deiner Memories von Snapchat kein solch triviales Unterfangen, wie es auf den ersten Blick scheint. Es ist zwar ein Gebastel, aber die Hauptsache ist doch, dass es funktioniert. ;)
Von seitens Snapchat wäre es jedoch schön, wenn die Daten bereits von Haus aus so bereitgestellt werden würden, wie diese beim Export in der App auch daher kommen. Dann wäre dieser ganze Aufwand nicht nötig gewesen.
Ich hoffe diese Anleitung/Blogpost konnte dir dabei helfen, deine Memories zu exportieren. Solltest du Fragen, Probleme oder Feedback haben, schreib doch gerne einen Kommentar unter dem Blogpost.
Ein grosser Dank geht an die GitHub User ToTheMax und AndrewMitchell25 für ihre Arbeit zur Entwicklung der verwendeten Tools!
Links
- ToTheMax/Snapchat-All-Memories-Downloader: Script to download all your Snapchat memories
- [Work in Progress] Add time data for videos and overlay support by AndrewMitchell25 · Pull Request #108 · ToTheMax/Snapchat-All-Memories-Downloader
- AndrewMitchell25/Snapchat-All-Memories-Downloader: Script to download all your Snapchat memories
- aidandenlinger/SnapchatMemoriesCaptionAdder: Adds metadata (caption, timestamps and location) to your exported Snapchat memories.
- Checking out pull requests locally - GitHub Docs
- How Do I Copy a Version of a Single File From One Git Branch to Another? | Better Stack Community