PPM to MPG Converter

Convert PPM files to MPG format online. Free, fast, no watermarks.

Initializing... drag & drop files here

Supports: PPM

OptionsAdvanced Options - Our defaults are optimized for the best results. We recommend you keeping the defaults unless you have a specific need.
Show All Options
Merge strategy
Select Merge images to combine all uploaded files into a single video. Use Video per image to create a separate video for each individual file.
Image Duration
Duration
How long each still image is held on screen. This applies to static images — including a static WebP, AVIF or HEIC. It is ignored for animated sources, which keep their own frame timing: GIF, APNG, and an animated WebP, AVIF or HEIC.
Background Color
Background Color
File Compression
Preset
Video resolution

Convert PPM to MPG: What This Tutorial Covers

A PPM is a Netpbm Portable Pixmap — a plain-text header followed by a raw dump of RGB samples, the file a ray tracer, a rendering script, or an OpenCV/ImageMagick pipeline drops on disk when it just needs pixels. An MPG is the opposite: an MPEG program stream built for DVD authoring, legacy set-top boxes, and broadcast ingest. This tutorial covers wrapping one still pixmap (or a numbered batch of them) into a silent MPEG-2 clip, and — just as importantly — the two settings that will make the job fail if you leave them alone.

How to Convert PPM to MPG

  1. Upload Your PPM File: Drag the .ppm onto the page or click "Add Files". Both Netpbm variants are accepted — P6 binary and P3 ASCII. With more than one file the Merge strategy control decides the shape of the result: Merge images (the starting choice) chains them into one clip, Video per image writes a separate MPG per file.
  2. Leave the Video Codec on MPEG-2: The codec list on this page offers exactly two entries, MPEG-1 and MPEG-2, and MPEG-2 is the one that is selected and the one that works. MPEG-1 fails on a still-image source every time — see the walk-through below for why.
  3. Set an Explicit Video Resolution: Do not leave Video resolution on Keep original if your pixmap is larger than 4096 px on its long edge. Pick Fixed Resolutions (29 presets from 7680 x 4320 down to 256 x 144, including 1920 x 1080, 1280 x 720 and 640 x 480) or type a Width x Height. This is also the only control that meaningfully changes the output size on this page.
  4. Choose the Image Duration and Convert: Image Duration decides how long the still is held, from a single frame at 60 fps up to 10 seconds per frame (5 seconds is the starting value). Click Convert to get a silent .mpg. Files upload over an encrypted connection, are processed on our servers, and are deleted automatically after a few hours — no sign-up, no watermark, never shared.

Walk-through: The Two Settings That Break This Conversion

MPEG-1 cannot encode a still image here. A single pixmap has no timeline, so the encode runs at a very low frame rate with B-frames disabled. MPEG-1's sequence header can only carry one of eight standard broadcast frame-rate codes (23.976, 24, 25, 29.97, 30, 50, 59.94, 60) and has no escape hatch for anything else, so ffmpeg rejects the job outright with MPEG-1/2 does not support n/n fps. MPEG-2 added a frame-rate extension to the sequence header that can express arbitrary rates, which is exactly why the default codec succeeds where MPEG-1 does not. We reproduced this on every still-image source we tried: switching the codec to MPEG-1 produces no output file at all.

MPEG-2 rejects frame sizes that are exact multiples of 4096. Before encoding, every image is normalised to a clean PNG and boxed so its long edge is at most 4096 px. If your PPM starts out bigger than that, the long edge lands on exactly 4096 — and ffmpeg's MPEG encoder refuses it, because the 12 low bits of the picture-size field would be all zero. The check is literal in the encoder source: Width or Height are not allowed to be multiples of 4096. A square 8000 x 8000 pixmap becomes 4096 x 4096 and fails; a 4:3 pixmap becomes 4096 x 3072 and fails on the width alone. Setting an explicit frame size sidesteps the whole thing.

  • If your PPM is 4096 px or smaller on both edges: "Keep original" is safe.
  • If it is larger on either edge: choose a fixed resolution, or a Preset Resolution (these set the height and let the width follow your source aspect).
  • If you specifically need a huge frame: 4096 is the ceiling on this path regardless, so pick 3840 x 2160 and accept the crop-free downscale.

What Each Rate-Control Mode Actually Does Here

MPEG-2 has no CRF mode at all, and a still image reports a source bitrate of zero, so there is nothing for a quality percentage to scale. Every mode on this page therefore ends up at the same resolution-derived bitrate. This is worth knowing before you spend time on the sliders.

Mode shown in File Compression What the UI presents What actually reaches the encoder
Quality Preset (starting mode) Highest → Lowest dropdown Nothing — a still has no source bitrate to scale, so the target falls back to the resolution minimum
Constant Quality A slider labelled CRF on a 1–31 scale Converted to a plain bitrate target; the value is accepted and then discarded
Constraint Quality CRF slider plus a Max bitrate field Also collapsed to a single bitrate target
Video resolution Keep original / fixed / preset / W x H The one control that genuinely moves the output size

Minimum MPEG-2 Bitrate by Frame Size

The floor the encoder lands on is derived from pixel count: pixels x bits-per-pixel x 30, never below 2 Mbps. Larger frames get a higher bits-per-pixel allowance because MPEG-2 compresses poorly at scale, so the file grows faster than the pixel count does.

Frame size Megapixels Bits per pixel used Resulting target
640 x 480 0.31 0.10 2 Mbps (the floor)
1280 x 720 0.92 0.10 ~2.8 Mbps
1920 x 1080 2.07 0.12 ~7.5 Mbps
2560 x 1440 3.69 0.15 ~16.6 Mbps
3840 x 2160 8.29 0.18 ~44.8 Mbps

Common Errors and How to Fix Them

  • "The conversion failed and there is nothing to download" — Almost always one of the two causes above. Check that the codec is still MPEG-2, then set an explicit Video resolution instead of Keep original.
  • "The clip is silent" — By design. A pixmap carries no audio, so the Audio Codec control is not shown on this page at all and the MPG is video-only. Add a soundtrack afterwards in an editor.
  • "There are white bars around my image" — A square or portrait pixmap cannot fill a widescreen frame without distortion, so it is padded rather than stretched. The fill comes from Background Color, which starts on White for image sources; Black and 23 other swatches are available. Matching the output frame to your image's own aspect ratio removes the bars entirely.
  • "The file is much bigger than I expected for one still frame" — See the table above. MPEG-2 at 1080p cannot go below roughly 7.5 Mbps here, so a 10-second hold is on the order of 9 MB no matter which quality mode you pick. Drop the resolution, or use PPM to MP4, where H.264 handles a static frame far more efficiently.
  • "The .mpg will not play in my browser or on my phone".mpg carrying MPEG-2 is not an HTML5 <video> format. VLC and DVD-era hardware play it; browsers and iOS generally do not.

When This Doesn't Work

If your goal is simply a viewable, shareable copy of the picture, do not convert it to video at all. An MPG is larger, lossy, and cannot be opened as an image — keep it a still with PPM to PNG, which is lossless and dramatically smaller than the raw pixmap. This page is also not a frame sequencer: merging numbered render frames holds each one for a fixed Image Duration rather than timing them on a frame-rate timeline, so a physics or ray-trace sequence will not play back as smooth motion. And nothing here can invent movement inside a single still — pans, zooms and crossfades need a video editor, not a format conversion.

Frequently Asked Questions

Why does choosing MPEG-1 always fail on this page?

Because a single still is encoded at a very low frame rate, and MPEG-1's sequence header can only express eight standard broadcast frame rates — 23.976, 24, 25, 29.97, 30, 50, 59.94 and 60. Anything outside that set is rejected with MPEG-1/2 does not support n/n fps, and MPEG-1 has no extension field to describe an arbitrary rate. MPEG-2 added exactly that extension, which is why the default codec encodes the same source without complaint. Leave the Video Codec on MPEG-2.

My conversion fails when Video resolution is set to Keep original. Why?

Because your pixmap is larger than 4096 px on at least one edge. Every image is boxed to a 4096-px long edge before encoding, and the MPEG encoder explicitly refuses a picture whose width or height is an exact multiple of 4096 — the 12 low bits of the size field would be all zero, which is not a legal sequence header. So an oversized square source lands on 4096 x 4096 and is rejected, and a 4:3 source lands on 4096 x 3072 and is rejected on the width. Choosing any explicit frame size avoids it.

Will the MPG have any motion or sound?

Neither. A PPM is one raw raster with no frames and no audio track, so the output holds that single picture for the duration you set and writes video only. The Audio Codec group is hidden on this page precisely because there is nothing to encode. Uploading several pixmaps and choosing Merge images gives you a fixed-dwell slideshow, but still no audio and still no motion within a frame.

Which codec and container do I actually get, and where will it play?

An MPEG program stream containing MPEG-2 video (ISO/IEC 13818-2, published jointly as ITU-T H.262) — the video codec the DVD-Video specification mandates. That makes the file a good match for DVD/VCD authoring software, older set-top boxes and broadcast ingest systems that reject image files. It is a poor match for the modern web: browsers do not play .mpg inline and mobile players generally will not open it. For web or phone playback use PPM to MP4 instead.

Does raising the Quality Preset improve the picture?

Not on this page. The preset works by scaling the source's own bitrate, and a still image reports a source bitrate of zero, so there is nothing to scale. On top of that, MPEG-2 has no CRF mode, so Constant Quality and Constraint Quality are both converted into a plain bitrate target as well. All three modes land on the same resolution-derived minimum. If the output looks soft, lower the frame size rather than fiddling with quality — a smaller frame at the same bitrate is sharper.

Can I combine several PPM images into one MPG slideshow?

Yes. Upload multiple .ppm files and leave Merge strategy on Merge images: each still is held for the Image Duration you chose and the clips are concatenated into a single MPG, so total length is roughly the number of images times the per-image duration. Choosing Video per image instead writes one separate MPG for each upload. Mixed frame sizes are normalised before encoding, so a batch with different pixmap dimensions will be padded to a common frame using the Background Color.

Will converting to MPG lose quality compared to my PPM?

Yes. A PPM stores raw, uncompressed samples — one byte per channel when the header's maxval is under 256, two bytes when it is higher — while MPEG-2 is a lossy, block-based codec and the server always re-encodes. Fine text, hard edges and single-pixel detail will soften. If you need every pixel preserved, this is the wrong destination; use PPM to PNG and keep the image lossless.

Why do my colours look slightly different in the MPG?

Because a PPM has nowhere to put a colour profile. The Netpbm specification defines samples as ITU-R BT.709 primaries with a gamma transfer applied, and stores no ICC data, so a pixmap authored in a different working space carries no hint of that. The encoder treats the values as ordinary sRGB-ish RGB and converts them to the YUV 4:2:0 space MPEG-2 requires, which also subsamples chroma. Saturated reds and fine coloured text are where you will notice it most.

What is the largest PPM I can send?

The practical limit is upload size and time, not the conversion. PPM is uncompressed — width x height x 3 bytes at 8 bits per channel, doubled at 16 bits — so a 4000 x 3000 pixmap is roughly 36 MB before it has done anything. On top of that, anything over 4096 px on the long edge is downscaled to fit that box before encoding, so sending a very large pixmap buys you nothing here. Re-export smaller, or convert to a compressed still first.

Rate PPM to MPG Converter Tool

Rating: 4.8 / 5 - 109 reviews