Skip to main content

Free Photo Slideshow Maker

Turn photos into an MP4 slideshow with music, cross-fades and a slow zoom. 16:9, 9:16 or square, up to 1080p. Made in your browser; your photos are not uploaded.

1. Photos

Drop photos here (JPG, PNG, WebP, HEIC)

JPG, PNG, WebP, GIF, BMP, AVIF, HEIC, HEIF · processed on your device

or press Ctrl+V to paste from your clipboard

You can drop multiple files at once

Browse files

2. Music (optional)

Drop a song (MP3, M4A, WAV, OGG)

MP3, WAV, OGG, M4A, AAC, FLAC, WEBM · processed on your device

or press Ctrl+V to paste from your clipboard

Browse files

The song is cut to the slideshow's length, or repeated if it is shorter, and fades out at the end.

Preview0:00 · 0 photos

🔒 Photos and music stay on your device. The video is made in this browser tab and nothing is uploaded.

How It Works

The page draws each frame of the slideshow on a canvas, with the next photo fading in over the last and a slow zoom, and encodes the frames with your browser's built-in video encoder (WebCodecs, via the open-source mediabunny library) into an MP4 with your song as AAC audio.

  1. 1
    Add photos
    Drop photos or press "Browse files". Use the arrows under each photo to change the order, or ✕ to remove one.
  2. 2
    Add a song
    Optional: drop an MP3 or other audio file. Press "Fit slideshow to the song" to end both together.
  3. 3
    Set the look
    Choose the video size, the framing, seconds per photo, the cross-fade, and whether photos slowly zoom. Drag the preview slider to check.
  4. 4
    Make and download
    Press "Make video", watch the result, then press "Download MP4".

Photos and music stay on your device. The video is made in this browser tab and nothing is uploaded.

Guide

Worked example

Twenty photos at the default timing, "Seconds per photo: 3" and "Cross-fade: 0.8 s", make a video of 44.8 seconds: 20 × 3 s, minus 19 overlaps of 0.8 s. The line above the preview reads "0:44 · 20 photos", and at 30 frames per second the 720p video (1280×720) has 1,344 frames. Add a 3:00 song and press "Fit slideshow to the song": seconds per photo becomes 9.8 and the length reads "3:00 · 20 photos" (180.8 seconds), so the music ends about when the last photo does. The file is saved as slideshow.mp4, or slideshow.webm in a browser without an H.264 encoder.

Which settings to use, and the limits

  • Add up to 200 photos and set the order. The drop box takes JPG, PNG, WebP and HEIC (GIF, BMP and AVIF are also accepted). Reorder with the ◀ and ▶ buttons under each thumbnail ("Move earlier", "Move later") and delete with ✕. Photos keep their camera rotation and are scaled down to at most 2,496 px on the long side. Adding more than 200 shows "A slideshow can have up to 200 photos."
  • Seconds per photo includes the cross-fades. "Seconds per photo" runs from 1 to 10 in half-second steps and "Cross-fade" from 0 to 2 seconds. A photo's time includes its fade in and fade out, so at 3 seconds with a 0.8 second cross-fade a middle photo is shown on its own for 1.4 seconds. The cross-fade cannot be longer than half the time per photo (0.5 seconds at 1 second per photo), and 0 gives hard cuts.
  • Choose a size for where it will be posted. "Video size" offers "Landscape 720p" (1280×720, the default), "Landscape 1080p" (1920×1080), "Vertical (Reels, TikTok)" (720×1280) and "Square" (1080×1080). Larger sizes take longer to encode, and if your browser has no video encoder for a size the page says so and 720p is the one to try. After a video is made, changing the photos, music, size, timing or framing hides it, so make the video last.
  • Choose whole photo or filled frame. "Photo framing" has two choices. "Whole photo, blurred edges" (the default) shows the entire photo and fills the leftover space with a darkened, blurred copy of it. "Fill the frame (crops)" covers the whole frame and cuts off the overflow. Use the first for a mix of portrait and landscape photos, and drag the preview slider to check how each one looks.
  • Slow zoom and pan is on by default. "Slow zoom and pan (Ken Burns)" makes each photo grow by up to 12% over its time, alternately zooming in and out and drifting toward different corners. Untick it for still photos. The amount is fixed and the same for all photos.
  • Add one song and fit the length to it. Drop an MP3, M4A, WAV, OGG or FLAC file. It starts at the beginning, fades in over 0.5 seconds, fades out over the last 2 seconds, and is cut to the video's length or repeated if it is shorter. It is saved at 160 kbps, as AAC in an MP4 where possible or Opus in a WebM. "Fit slideshow to the song" sets seconds per photo, from 1 to 20, so the slideshow and the song end together.

Common problems and how to fix them

It says "This browser cannot encode video. Use a recent Chrome, Edge, Safari 16.4+ or Firefox 130+."
The tool encodes with the browser's own video encoder (WebCodecs) and needs it and OffscreenCanvas, which this browser lacks. Update the browser, or open the page in a current Chrome, Edge, Safari or Firefox. The video cannot be made without them.
It says "This browser has no video encoder for this size. Try 720p, or another browser."
The browser can encode video in general, but it offers neither H.264 nor VP9 at the size you picked. Choose "Landscape 720p" or another size under "Video size" and press "Make video" again.
It says "The video could not be made. Try fewer photos or a smaller size."
Encoding failed part-way. Every photo stays in memory as a decoded picture of up to 2,496 px, roughly 16 MB for a 3:2 photo, and the finished video is also built in memory. Remove some photos, pick 720p, or use a computer, then press "Make video" again.
It says "2 photos could not be read and were skipped."
Those files could not be decoded; they may be damaged or in a format the browser cannot open. The other photos were added. Save the skipped ones as JPG or PNG and add them again. If you add more than 200 photos, only the first ones that fit are taken.
It says "song.mp3 could not be read as audio." or the finished video has no sound.
The first message means the browser could not decode that audio file; convert it to MP3 or WAV and try again. A video with no sound can happen when you added a song but the browser has no audio encoder it can use: the video is then made without the soundtrack and no error is shown. Try a current Chrome or Edge.

How it compares

This is a basic slideshow maker. Every photo gets the same time, the transition is a cross-fade (or a hard cut), the zoom is automatic, and there is one song, with no captions, stickers, per-photo timing or photo editing. A phone's gallery app or a video editor gives you those controls, so use one when you need titles or different durations. In its favor, this tool needs no install, adds no watermark, and builds a standard MP4 (H.264, with AAC audio) in the browser tab with nothing uploaded. Where the browser has no H.264 encoder, the result is a WebM instead.

Related Tools

Frequently Asked Questions