Peak AppsTools

Snapchat Memories overlay files: where the captions went

In a Snapchat My Data export, a memory with a caption, sticker or drawing comes as two files with the same name: the photo or video, ending in -main, and a transparent layer ending in -overlay that holds everything you added on top. A gallery shows only the -main file, so the caption looks lost. Photo Date Fixer can draw each layer back onto its photo while it writes the real date, or keep the two files side by side.

Last checked 29 October 2026

What the two files are

Here is a made-up pair from the memories folder of an export:

  • 2019-03-05_6f1c2a9e-main.jpg: the photo as the camera took it.
  • 2019-03-05_6f1c2a9e-overlay.png: a transparent image that holds only the caption, the stickers and the drawing.

The two names match up to -main and -overlay, and that is how you, or any tool, can pair them. A memory you never edited has only the -main file. Videos come the same way: a -main.mp4 file and, if you added something on top, an -overlay.png file with it.

Two details trip people up when they try to merge the files themselves:

  • The name ends in .png, but the file inside is often WebP. An open-source project that sorts these exports counted 566 WebP files, 136 PNG files and 1 in another format among the overlays of a single export. A program that trusts the name can fail on most of them.
  • Most layers have the photo's size, but a few are a slightly different shape, such as 828 × 1548 over a 960 × 1700 photo. A layer stretched to fit then makes the text visibly wider.

Put the captions back with Photo Date Fixer

  1. Download every ZIP part of your export and keep the files zipped. If the download stalls, see Snapchat Memories export not working.
  2. Add all the parts to Photo Date Fixer. It reads them in your browser and uploads nothing.
  3. On the screen headed “Here is what we found”, switch on “Put captions and stickers back onto the photos”. The option shows when at least one photo has a layer, and the note under it says how many photos do.
  4. Start, then save the parts and the CSV report.

Each photo with a layer is drawn again with its layer on top. The fixer reads each layer by its content, so WebP files with a .png name work, and it scales a layer of a different shape to cover the photo and centres it, so the text keeps its proportions. The result is saved as a new high-quality JPEG, and its date, local time, UTC offset and location are written into it like into every other photo. Its -overlay file is then left out, because the caption is now in the picture. Photos without a layer are not drawn again: only their metadata changes.

Drawing a layer means encoding that photo again, so tiny compression differences are possible. Your original ZIP files do not change, so you can run the fixer again with the option off whenever you want the clean photo. The CSV report notes every photo that got its layer back.

The option shows in browsers that can draw images in the background, which current versions of Chrome, Edge, Firefox and Safari do.

Or keep each layer as its own file

With the option off, which is the default, the fixer keeps every layer next to its photo, under the photo's new name plus -overlay:

  • 2019/2019-03-05_12-24-50_6f1c2a9e.jpg
  • 2019/2019-03-05_12-24-50_6f1c2a9e-overlay.png

Both files get the capture time as their file time, and the CSV report lists the layer next to its photo in the overlay_files column. You keep a clean copy of every photo, with its caption beside it.

Before you upload such a folder to Google Photos, move the -overlay files out of it. Google's help page lists PNG and WebP among the photo types Google Photos accepts, so each layer would arrive as a picture of its own: a caption on an empty background. Search the folder for -overlay to select them all at once.

Captions on videos

A video's layer stays a separate file in both modes. Putting text into a video means encoding every frame again, which takes far longer than a photo and suits a desktop program better than a browser tab. With ffmpeg, a free command-line program, this line draws the layer over a video and keeps its creation date:

ffmpeg -i clip.mp4 -i clip-overlay.png -filter_complex "[1:v][0:v]scale=rw:rh[o];[0:v][o]overlay" -map_metadata 0 -c:a copy clip-captioned.mp4

We tested it with ffmpeg 8.1 on a video written by Photo Date Fixer. The creation date came through, but the location did not, so keep the fixed video as well if the place matters to you. The new file is encoded again, so it is a copy for watching and sharing rather than a replacement for the original.

Sources

Add your export ZIP files to the fixer and switch on the captions option on the review screen.

Open the date fixer

Questions people ask

Why are my Snapchat Memories missing their captions after the download?

The export keeps captions, stickers and drawings in a separate transparent file that ends in -overlay, next to the photo or video that ends in -main. A gallery shows only the photo. Photo Date Fixer can draw the layer back onto each photo while it writes the real date.

Are Snapchat overlay files PNG or WebP?

Both occur. The names end in .png, but many of the files inside are WebP. Photo Date Fixer reads each file by its content rather than its name, so either kind works.

Does putting the caption back lower the photo quality?

The photo is saved again as a high-quality JPEG, so tiny compression differences are possible. Photos without a layer keep their pixels exactly, and your original ZIP files do not change.

Can I keep both the clean photo and the captioned one?

Yes. Run the fixer twice on the same ZIP files, once with the option off and once with it on. The first run gives you the clean photos with their layers beside them, the second the captioned photos.

Do videos get their captions back?

Not in the browser. A video's layer stays a separate file, because drawing text into a video means encoding every frame again. A desktop program such as ffmpeg can do it, and this page has a tested command.