Initializing... drag & drop files here
Supports: JPG, JPEG, JFIF
This tool wraps a JPG photo in a 3GP video container and holds it on screen for a duration you choose — one frozen frame, no motion, no sound. That is what you need when an old handset, an MMS gateway, or a legacy media gallery accepts .3gp and rejects a plain image. This page walks through the four settings that actually change the output (duration, codec, quality mode, resolution), then covers the two things that surprise people most: why H.263 resizes your photo, and why the Quality Preset appears to do nothing on the legacy codecs.
.3gp. Files upload over an encrypted connection, are processed on our servers, and are deleted automatically after a few hours. No sign-up, no watermark.Duration and frame rate. A still image has no timeline, so the encoder loops the frame and stops at the duration you set — 5 seconds per image unless you change it. Encoding runs at 1 frame per second with B-frames disabled, so a 5-second clip is five encoded frames of identical content. That is why these files stay tiny: there is almost nothing to compress after frame one.
Video Codec. H.264 is written by default and is the right answer for anything made after roughly 2007. The legacy options exist because some very old handsets never shipped an AVC decoder, and each one behaves differently with frame sizes — see the table below.
Quality mode. Quality Preset is the default, but it is a CRF-based control, and CRF only exists on H.264 here. On H.263, MPEG-4 and Xvid the preset falls back to a bitrate derived from the source file's video bitrate — and a still photo has no video bitrate, so the target computes to zero and the encoder drops to its own internal minimum. The result looks blocky. On those three codecs, switch File Compression to Constant Quality (a 1-31 quality scale where lower is sharper) or Constraint Quality (set an explicit Max bitrate).
Resolution and Background Color. Keep original is the default. Preset Resolutions sets height only and derives width from your photo's aspect ratio; Fixed Resolutions pins an exact frame such as 640×480, and anything the photo does not fill is padded with the Background Color — white by default. Before encoding, each image is normalised and capped at 4096 px on its long edge, so a 48-megapixel phone photo is downscaled before it ever reaches the encoder.
| Codec | What it is | Frame size behaviour | Choose it when |
|---|---|---|---|
| H.264 (default) | ITU-T/ISO AVC, listed by Android as a 3GP video codec in Baseline and Main profile | Even dimensions, otherwise your size | Any phone or player from the smartphone era; best quality per byte |
| H.263 | The original ITU-T low-bitrate videophone codec that 3GP was built around | Snapped to a legal picture size: 128×96, 176×144, 352×288, 704×576 or 1408×1152 | The target is a genuine feature phone or an MMS gateway that only decodes H.263 |
| MPEG-4 | MPEG-4 Part 2 Simple/Advanced Simple Profile | Rounded down to a multiple of 4 | A mid-2000s handset or set-top that predates AVC |
| Xvid | An MPEG-4 Part 2 encoder implementation | Even dimensions | Desktop playback compatibility with older codec packs |
| Property | Value for this conversion |
|---|---|
| Container | 3GP — an instance of the ISO base media file format, the same lineage as MP4 |
| Specification | 3GPP TS 26.244; the video/3gpp MIME type and .3gp extension are registered in RFC 3839 |
| Video track | H.264 by default; H.263, MPEG-4 or Xvid if you pick them |
| Audio track | None — a JPG carries no sound, so the clip is silent |
| Frame rate | 1 fps, B-frames off |
| Default length | 5 seconds per image |
| Padding colour | Background Color, white by default |
| Source handling | Normalised and capped at 4096 px on the long edge before encoding |
3GP is a low-bitrate mobile container, so it is the right target only for old handsets, MMS workflows and size-capped galleries. For a still-image clip destined for a modern phone, social media or email, JPG to MP4 is better supported and looks sharper at the same size. For a short looping animation instead of one held frame, use JPG to GIF. And if the receiving system will take an image at all, no video wrapper is needed — the wrapper only exists to satisfy players that refuse still files.
No. The 3GP container supports AMR-NB, AMR-WB and AAC-LC audio, but a JPG has no sound to carry, so the output is a silent one-frame video. The audio controls are hidden on this page for that reason.
Five seconds per image by default. The Duration dropdown sets it anywhere from a single frame (1/60s) to 10 seconds per image, and the clip length follows directly — there is no other length control.
H.263 is defined only for five picture sizes: 128×96, 176×144, 352×288, 704×576 and 1408×1152. Rather than fail the encode, the converter snaps your frame to the largest of those that does not upscale the source, and pads the remainder with the background colour. H.264 has no such restriction.
Those codecs have no CRF control, so the Quality Preset falls back to scaling the source file's video bitrate — and a still image reports a video bitrate of zero. The computed target therefore collapses and the encoder uses its own floor. Select Constant Quality (1-31, lower is sharper) or Constraint Quality with an explicit Max bitrate to get real control.
Yes. Add the images in the order you want them and leave Merge strategy on "Merge images" — each photo is held for the Duration you set, one after another, in a single file. Switch to "Video per image" to get a separate .3gp per photo instead.
Android documents 3GP playback with H.263 and H.264 video plus AMR-NB, AMR-WB or AAC-LC audio in its supported media formats list, which is why the format survives on handsets. Desktop support is patchy — Windows Media Player never included it — so VLC is the safe cross-platform player.
No. 3GP is the 3GPP file format used on GSM/UMTS networks; 3G2 is the parallel 3GPP2 format that was used on CDMA2000 networks. They share the ISO base media file format ancestry, but a device that only accepts one will usually reject the other, so match the extension the target device asks for.
Yes. There is no way to place JPEG data into a video track untouched — the image is decoded and re-encoded by the selected video codec, on top of whatever compression the original JPG already had. Keep the resolution at "Keep original" and use Constant Quality if you want the least additional loss.
Files are uploaded over an encrypted connection, processed on our servers, and deleted automatically after a few hours — no sign-up, no watermark, never shared or made public.