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.
Add photos and a song, set the timing, and get an MP4 you can post or share. Everything is drawn and encoded on your device.
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
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
The song is cut to the slideshow's length, or repeated if it is shorter, and fades out at the end.
🔒 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.
- 1Add photosDrop photos or press "Browse files". Use the arrows under each photo to change the order, or ✕ to remove one.
- 2Add a songOptional: drop an MP3 or other audio file. Press "Fit slideshow to the song" to end both together.
- 3Set the lookChoose the video size, the framing, seconds per photo, the cross-fade, and whether photos slowly zoom. Drag the preview slider to check.
- 4Make and downloadPress "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
Image Merger — Combine Images into One
Merge photos or screenshots into one image: top to bottom, side by side or in a grid, without cropping. Match widths, add spacing, a border and a background, then save as JPG, PNG or WebP. Runs in your browser; nothing is uploaded.
Duplicate File & Photo Finder
Find duplicate files and similar photos in a folder: exact copies by content, plus resized or re-saved versions of the same photo. Keep the best copy and move the rest aside. Runs in your browser; nothing is uploaded.
Boomerang Maker
Turn a short clip into a forward-reverse boomerang loop — like Instagram, in your browser.