Initializing... drag & drop files here
Supports: 3GP, 3G2
A .3g2 file is the 3GPP2 container that CDMA2000 handsets recorded to, built on the same ISO base media file format as MP4 and specified by 3GPP2 in C.S0050. A .bmp is a Windows device-independent bitmap: a header, an optional palette and a run of pixels, with no modern compression anywhere in it. This page takes a frame out of the clip and writes it as a BMP.
Two things make this conversion less obvious than it looks. First, you choose which frame — a single still at a timestamp, or a whole run of stills at a capture rate. Second, the "Quality Preset" list on a BMP target does not mean what it means on a JPEG target: each rung selects a genuinely different BMP writer, producing a different bit depth, a different header version and a different compression scheme. The section below spells out what each one writes. This route accepts .3gp uploads as well as .3g2.
.3gp is accepted here too, and several files can queue together.We ran a 320x240 frame through all three rungs and read the resulting BMP headers back byte by byte. They are three different files in three different formats:
| High | Medium | Low | |
|---|---|---|---|
| Colour handling | No palette — direct 16-bit colour, 5 bits per channel | Reduced to a 256-colour palette with Floyd-Steinberg dithering | Reduced to an 86-colour palette with Floyd-Steinberg dithering |
| Bits per pixel in the header | 16 | 8 | 8 |
| Compression field | BI_RGB — none |
BI_RLE8 — run-length |
BI_RLE8 — run-length |
| DIB header written | 40-byte BITMAPINFOHEADER (Windows 3.x era) |
40-byte BITMAPINFOHEADER |
124-byte BITMAPV5HEADER |
| Density recorded | None | Effectively none | 15000 pixels/metre, which reads as 381 DPI |
| Extra processing | None | A light selective blur before quantising, and metadata stripped | None |
| Size of a 320x240 frame | 153,654 bytes | 31,618 bytes | 23,956 bytes |
| Size predictability | Exact: width x height x 2 + 54 bytes, whatever the picture | Varies with content — RLE compresses flat areas well | Varies, and can exceed Medium when the dithering is dense |
A few things follow from that table that are easy to get wrong:
BI_RGB, no rung here produces it; open the High output in an editor and re-save.| What you want | Frame Selection | Setting |
|---|---|---|
| The opening frame | Specific Frame | Time 0 — the pre-selected state |
| One particular moment | Specific Frame | Time in seconds, counted from the start of the clip |
| A contact sheet of the whole clip | Multiple Screenshots | Capture Rate of 1 to 5 seconds per frame |
| Dense stills for frame-by-frame inspection | Multiple Screenshots | Capture Rate of 0.1 to 0.5 seconds per frame |
The frame itself is extracted losslessly before anything else happens: the converter pulls it out of the clip as a PNG first, then hands that PNG to the BMP writer. So the only quality decisions that matter are the ones in the table above and whatever rescaling you apply.
BITMAPV5HEADER rather than the classic 40-byte header. Use High or Medium, both of which write the older structure.High, in most cases. It is the only rung that does not reduce the picture to a palette, so text stays crisp and there is no dithering speckle. Its weakness is smooth gradients — 5 bits per channel is 32 levels, which bands visibly on skies and soft lighting. If your frame is mostly gradient and the banding bothers you, try Medium: the dithered 256-colour output measured closer to the original than High did on a smooth test gradient, and it is roughly five times smaller.
Because BMP does not really compress and video does, aggressively. A 3G2 stores each frame as a difference from its neighbours at a few hundred kilobits per second; a High-preset BMP stores two full bytes for every pixel with no compression whatsoever. The arithmetic is exact and easy to check: width x height x 2, plus 54 bytes of header. That is the price of a format designed in 1990 for direct copying into video memory.
The extraction itself is lossless — the frame is decoded out of the clip and written as a PNG before the BMP writer ever sees it, so nothing is thrown away at that step. The losses that do occur are the ones you choose: 5-bit-per-channel colour on High, or palette reduction on Medium and Low. What you cannot undo is the compression the phone applied when it recorded, which is baked into the frame you are extracting.
Not every frame, but as many as you like. Switch Frame Selection to Multiple Screenshots and pick a Capture Rate — the fastest option is a frame every 0.1 seconds, which is 10 stills per second of footage. Bear in mind what that means for storage on an uncompressed format: ten seconds of QVGA at High is a hundred images of about 154 KB each, so around 15 MB for ten seconds. Use Medium if you are sampling densely.
No, and there are two reasons. BMP has no metadata container to begin with — no EXIF block, no timestamp field, no colour profile in the classic 40-byte header — and the Medium preset strips metadata explicitly as part of its palette conversion. Beyond that, a frame grab is a picture pulled out of a video stream rather than a photograph, so there is no camera EXIF attached to it in the first place. No image target on the site can invent one; if you need to know when a clip was shot, read that from the original .3g2 before converting.
Almost only for compatibility with something old or something simple. PNG is losslessly compressed, keeps full 24-bit colour, supports transparency and is a fraction of the size, so 3G2 to PNG is the better answer for any general purpose. BMP earns its place when a piece of legacy Windows software, an embedded device, a game-engine importer or a hardware tool reads nothing else — those readers usually want the plainest possible file, which is what the High preset comes closest to.
There is one list here, Preset Resolutions, and it sets the height while the width follows the source's aspect ratio. That is why it also carries small entries like 256P, 128P and 16P, which are aimed at icon-sized output. If you need an exact pixel size, use Width x Height and type both numbers; if you just want a proportional reduction, Resolution Percentage is simpler.
.3gp rather than .3g2 — will this work?Yes. Both extensions are accepted on this page, because 3GP and 3G2 are the GSM and CDMA variants of the same ISO base media container and carry the same video codecs. The frame extraction is identical either way. The differences between the two formats are in the speech codecs and a couple of AAC profiles, none of which matter when you are pulling out a picture.
Your clip is uploaded over an encrypted connection, the frame is extracted and converted on our servers, and both the upload and the BMP are deleted automatically after a few hours. Nothing is shared or made public and no account is required. Phone clips from this era are small, so the whole job is usually finished as fast as the upload completes.