The ultimate tool to revive your Snapchat export data. Merge overlays, restore timestamps, and inject GPS locations with a beautiful GUI!
When you export your Snapchat data, memories often come in broken pairs: a base file and a transparent overlay. SnapMemoryMerger is a desktop GUI application built in Python that automatically matches and merges these pairs back into single photos and videos. It also restores their original creation/modification timestamps and intelligently injects GPS metadata using your memories_history.json.
- 🖼️ Overlay Merging: Seamlessly combines base photos (using
Pillow) and videos (usingFFmpeg) with their transparent overlays. - 📍 GPS Location Injection: Analyzes
memories_history.jsonwith timezone-aware logic to inject precise GPS metadata into EXIF/MP4 headers. - ⏱️ Metadata Preservation: Retains the original creation and modification timestamps using Windows file APIs (
pywin32), so your memories stay perfectly sorted in your camera roll. - 📂 Recursive Scanning: Batch process multiple Snapchat export folders and nested directories all at once.
- 🧠 Smart Directory Memory: Remembers your previously selected input, output, and JSON directories for faster workflows.
- 💻 Modern GUI: Clean, dark-mode desktop interface with real-time log tracking and progress bars.
For Windows users who want to use the app immediately without installing Python or any dependencies:
- Download the Latest Release
- Extract the ZIP file.
- Run
SnapMerger.exe.Note: FFmpeg is already bundled with the executable!
If you're on macOS/Linux, or prefer running the script directly from source:
- Python 3.8+
- FFmpeg: Required for video processing.
- Windows:
winget install ffmpeg(Restart terminal/IDE after installation) - macOS:
brew install ffmpeg - Linux:
sudo apt install ffmpeg
- Windows:
Clone the repository and install the required Python packages:
git clone https://github.com/Al-fozan/SnapMemoryMerger.git
cd SnapMemoryMerger
pip install -r requirements.txtpython snap_merger.py- Select Input Folder: Point the app to your extracted Snapchat memories folder.
- Select Output Folder (Optional): By default, merged files are saved to a
Final_Exportfolder inside your input directory. - Inject GPS (Optional): Check the box and select your
memories_history.jsonfile if you want location data embedded. - Click Start Processing and watch the magic happen in the log!
- Large Video Exports: FFmpeg processing might take some time depending on your CPU speed and the number of videos.
- Timezone Offsets: The tool attempts to auto-detect timezone offsets when parsing the JSON file for location metadata. If some locations fail to match, ensure the timestamps in the filename align reasonably well with the JSON entries.
- Windows Only Timestamps: Currently, the strict preservation of Creation Time uses Windows-specific APIs (
win32file). Running from source on macOS/Linux will merge files properly, but might only retain the modification time.

