Convert HEVC to 3GPP — Free Online Tool

Convert HEVC/H.265 video files to 3GPP format optimized for mobile devices, re-encoding the video stream from H.265 to H.264 (libx264) and wrapping it in a 3GP container with AAC audio. This is ideal for sharing high-efficiency video content on older smartphones and 3G-compatible devices that lack H.265 decoding support.

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

HEVC (H.265) files must be fully decoded and re-encoded during this conversion — there is no shortcut remux because 3GPP containers require H.264 video, not H.265. FFmpeg decodes every frame of the H.265 stream, then re-encodes it using libx264 with a CRF of 23, producing a standard H.264 video track. Any audio is simultaneously transcoded to AAC at 64k bitrate, which is the standard audio codec for 3GP files. The -movflags +faststart flag reorganizes the file's metadata to the beginning of the output, enabling progressive playback on mobile networks before the full file downloads. The result is a compact, widely compatible 3GP file sized for mobile streaming, though it will be larger than the original HEVC file because H.264 is less compression-efficient than H.265.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg program. When run in the browser, this is FFmpeg compiled to WebAssembly (ffmpeg.wasm), which executes the same logic as the desktop version without any server-side processing.
-i input.hevc Specifies the input file — an HEVC/H.265 encoded video file. FFmpeg reads and fully decodes the H.265 bitstream frame by frame in preparation for re-encoding to H.264.
-c:v libx264 Selects libx264 as the video encoder, which re-encodes the decoded H.265 frames into H.264 — the video codec required by the 3GP container format and supported by virtually all 3G-era mobile devices.
-c:a aac Encodes the audio stream as AAC (Advanced Audio Coding), which is the standard and most compatible audio codec for 3GP files, replacing whatever audio codec was present in the source HEVC file.
-crf 23 Sets the Constant Rate Factor for the H.264 encode to 23, a value that balances visual quality and file size. Lower values (e.g., 18) produce better quality but larger files; higher values (e.g., 28) shrink the file further but reduce quality — relevant since H.264 is already less efficient than the original H.265.
-b:a 64k Sets the AAC audio bitrate to 64 kilobits per second, a value chosen for compatibility with 3G network bandwidth limits and mobile device decoders. This is adequate for speech and general video audio but may sound compressed for high-fidelity music content.
-movflags +faststart Moves the 3GP file's MOOV metadata atom to the beginning of the output file, allowing mobile devices and browsers to begin streaming playback over a 3G connection before the entire file has been received.
output.3gp Specifies the output filename with the .3gp extension, which signals FFmpeg to use the 3GPP container format. This container wraps the H.264 video and AAC audio streams in a format designed for mobile multimedia delivery.

Common Use Cases

  • Sharing a high-quality H.265 recording with contacts who own older Android or feature phones that only support H.264-based 3GP playback
  • Preparing video content for MMS messaging or mobile platforms that enforce 3GP format requirements for multimedia messages
  • Converting HEVC footage captured on a modern camera or drone for upload to legacy mobile video portals and 3G-era content management systems
  • Distributing instructional or promotional video to audiences in regions where 3G networks and older handsets are still predominant
  • Reducing H.265 video to a low-bitrate 3GP file for embedding in mobile applications that target devices with limited codec support
  • Archiving H.265 content in a universally mobile-compatible format for long-term compatibility with the broadest possible range of playback devices

Frequently Asked Questions

The 3GPP container specification is built around H.264 video, not H.265. Attempting to copy an H.265 stream directly into a .3gp file would produce an incompatible file that virtually no mobile device or media player would recognize. FFmpeg must fully decode the H.265 stream and re-encode it as H.264, which is the only video codec reliably supported across 3GP-compatible devices. This re-encoding step means the conversion is CPU-intensive and takes longer than a simple remux.
The output 3GP file will typically be larger than the original HEVC source, sometimes significantly so. H.265 is approximately 40–50% more compression-efficient than H.264, meaning that producing equivalent visual quality in H.264 requires considerably more data. The default CRF 23 setting targets good quality rather than minimal file size, so if small file size is your priority, you should raise the CRF value (e.g., to 26 or 28) to further reduce bitrate at the cost of some quality.
For speech, voice-over, or general mobile video content, 64k AAC delivers acceptable quality and is well within the bandwidth constraints of 3G streaming. Music or high-fidelity audio may sound noticeably compressed at this bitrate. If your source HEVC file contains high-quality stereo audio and audio fidelity matters, you can increase the bitrate by changing -b:a 64k to -b:a 96k or -b:a 128k in the FFmpeg command, though this will increase the output file size.
The -movflags +faststart flag moves the file's MOOV atom (the metadata block that describes the video structure) to the beginning of the file instead of leaving it at the end. Without this, a device or browser must download the entire 3GP file before it can begin playback. With faststart, playback can begin as soon as the initial metadata is received, which is particularly valuable on slow 3G connections where buffering is a real concern.
The -crf 23 flag controls H.264 video quality on a scale where lower numbers mean higher quality and larger files. To increase quality, lower the value (e.g., -crf 18); to reduce file size at the cost of quality, raise it (e.g., -crf 28). For 3GP files intended for small mobile screens, a CRF of 26–28 often looks perfectly acceptable and keeps file sizes in check. For example: ffmpeg -i input.hevc -c:v libx264 -c:a aac -crf 28 -b:a 64k -movflags +faststart output.3gp
Yes. On Linux or macOS, you can loop over files in a directory with a shell command: for f in *.hevc; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 64k -movflags +faststart "${f%.hevc}.3gp"; done. On Windows Command Prompt, use: for %f in (*.hevc) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 64k -movflags +faststart "%~nf.3gp". The browser-based tool processes one file at a time, so the FFmpeg command is especially useful for bulk conversions of files over 1GB.

Technical Notes

Because this conversion re-encodes both video and audio streams, some quality loss is inherent and unavoidable — this is not a lossless operation. The magnitude of quality loss depends on the CRF setting; the default CRF 23 for H.264 is considered a high-quality target but will still introduce generational loss compared to the original H.265 encode. HEVC features such as HDR metadata (HDR10, HLG) are not carried into the 3GP output, as neither the H.264 codec nor the 3GP container has meaningful HDR support — HDR content will be tone-mapped or clipped during re-encoding. Subtitles, chapters, and multiple audio tracks present in the source HEVC file are dropped, as the 3GP format does not support these features. The 3GP container supports a maximum resolution governed by device profiles; while the format technically allows higher resolutions, most real-world 3GP playback devices are optimized for sub-720p content. If your source HEVC file is 4K or 8K, consider adding a scale filter (e.g., -vf scale=640:-2) to the command for practical mobile compatibility.

Related Tools