Convert 3GP to Y4M — Free Online Tool

Convert 3GP mobile video files to Y4M (YUV4MPEG2) uncompressed format directly in your browser. This tool decodes the H.264-encoded 3GP stream into raw YUV pixel data, producing a lossless Y4M file ideal for frame-accurate video processing pipelines.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

3GP files store video using lossy compression codecs like H.264 (libx264), designed to minimize file size for mobile networks. During this conversion, FFmpeg fully decodes the compressed 3GP video stream into raw, uncompressed YUV pixel data and writes it into the Y4M container. Y4M is not a compressed format — it is a lossless frame dump with a simple header per frame, so the output file will be dramatically larger than the input. Audio is not carried over, as Y4M supports only raw video. The conversion involves a full decode pass, meaning the quality ceiling is set by the original 3GP source — Y4M preserves every decoded pixel exactly, but cannot recover detail lost during the original 3GP encoding.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the open-source multimedia processing engine that handles decoding the 3GP container and writing the Y4M output. In this browser tool, FFmpeg runs as a WebAssembly module with no server involvement.
-i input.3gp Specifies the input file — a 3GP container, typically holding an H.264 video stream and AAC audio, as produced by 3G-era mobile phones and some older Android and feature phone cameras.
-c:v rawvideo Instructs FFmpeg to encode the output video stream using the rawvideo codec, which writes completely uncompressed YUV pixel data. This is the only video codec Y4M supports, and it produces the lossless frame data required for downstream processing pipelines.
output.y4m Specifies the output filename with the .y4m extension. FFmpeg recognizes this extension and automatically selects the YUV4MPEG2 muxer, which writes the Y4M container format including the per-file and per-frame ASCII headers that downstream tools use to interpret the raw pixel data.

Common Use Cases

  • Feeding a decoded 3GP video into a lossless processing tool like x264, VapourSynth, or AviSynth that requires raw YUV input via pipe or file
  • Extracting individual frames from a 3GP mobile recording for frame-by-frame analysis, where re-encoding artifacts from intermediate codecs would corrupt measurements
  • Using a 3GP clip as a source in a video quality research or encoding benchmark pipeline that demands uncompressed YUV reference material
  • Preparing a 3GP video for import into professional compositing software such as DaVinci Resolve or Natron that accepts Y4M as a lossless intermediate
  • Archiving the decoded pixel content of a 3GP file in a format that any standards-compliant video tool can read without needing codec support for H.264 or AAC
  • Debugging or inspecting the raw output of a 3GP encoder by converting its output to Y4M and examining YUV channel values directly

Frequently Asked Questions

3GP stores video using H.264, a lossy compression codec that can achieve compression ratios of 100:1 or more. Y4M stores raw, uncompressed YUV pixel data with no compression whatsoever — every frame is written in full. A 10-second 3GP clip that is a few megabytes can expand to hundreds of megabytes or even gigabytes as a Y4M file, depending on resolution and frame rate. This is expected and is the fundamental tradeoff of working with lossless uncompressed formats.
Y4M will losslessly preserve the decoded output of the 3GP file, but it cannot recover quality that was lost when the 3GP was originally encoded. H.264 compression in 3GP is lossy, so artifacts like blocking or ringing introduced during the original encoding are baked into the pixel data. What Y4M guarantees is that no additional quality loss is introduced by this conversion — the decoded pixels are captured exactly, making it a perfect lossless intermediate starting from that source.
The audio is dropped entirely. Y4M is a video-only format with no support for audio streams — it carries only raw video frames and per-frame metadata. If you need the audio from your 3GP file, you should extract it separately using a tool that outputs AAC, MP3, or another audio format before performing this conversion.
Yes — Y4M is a well-established interchange format supported by FFmpeg, x264, VLC, HandBrake, MEncoder, and most open-source video tools. It was specifically designed for piping raw video between applications. You can pipe the Y4M output into x264 for re-encoding, load it into a frame-accurate editor, or pass it to a quality-metric tool like VMAF or SSIM without any additional conversion step.
The exact command displayed on this page — 'ffmpeg -i input.3gp -c:v rawvideo output.y4m' — runs identically on your desktop with FFmpeg installed. Since Y4M files grow very large, processing a big 3GP file locally is strongly recommended. Install FFmpeg from ffmpeg.org, place it in your PATH, and run the command in your terminal replacing 'input.3gp' and 'output.y4m' with your actual file paths. There are no additional flags needed for larger files.
FFmpeg itself processes one file at a time with the command shown, but you can wrap it in a shell loop to batch process. On Linux or macOS: 'for f in *.3gp; do ffmpeg -i "$f" -c:v rawvideo "${f%.3gp}.y4m"; done'. On Windows PowerShell: 'Get-ChildItem *.3gp | ForEach-Object { ffmpeg -i $_.FullName -c:v rawvideo ($_.BaseName + ".y4m") }'. Be mindful of available disk space — multiple Y4M files can consume enormous amounts of storage.

Technical Notes

Y4M (YUV4MPEG2) uses a simple ASCII header followed by raw planar YUV frames, making it trivially parseable by any video tool but completely incompatible with normal media players that expect compressed video. The pixel format written by FFmpeg in this conversion will match the decoded chroma subsampling of the source 3GP stream — typically yuv420p, since H.264 in 3GP nearly always uses 4:2:0 chroma subsampling. No color space conversion is applied unless explicitly requested. The Y4M container carries no audio, no subtitle tracks, no chapter markers, and no metadata beyond basic frame dimensions, frame rate, and interlacing flags — all of which are read from the 3GP stream and written into the Y4M header automatically. Because 3GP does not support transparency and Y4M's rawvideo codec does not encode an alpha channel in standard usage, transparency is not a concern for this format pair. One important limitation: very long or high-resolution 3GP files will produce Y4M outputs that may exceed filesystem file size limits on FAT32 volumes (4GB cap), so processing should be done on NTFS, ext4, or APFS filesystems.

Related Tools