Convert 3GPP to HEVC — Free Online Tool

Convert 3GPP mobile video files to HEVC/H.265 format using libx265, dramatically reducing file size while preserving visual quality. This conversion re-encodes the H.264 or MJPEG video from the 3GPP container into a standalone HEVC bitstream — ideal for archiving mobile footage at maximum compression efficiency.

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

3GPP files are a mobile-optimized container format that typically wraps H.264 video and AAC audio, designed for 3G network streaming on older handsets. During this conversion, the video stream is fully re-encoded from its original codec (usually H.264/libx264) into HEVC/H.265 using the libx265 encoder. HEVC achieves roughly twice the compression efficiency of H.264, meaning the output HEVC file can be about half the size of the original 3GPP video at comparable visual quality. The output is a raw HEVC bitstream file (.hevc) — not a container like MP4 or MKV — so it contains only the encoded video data. The audio track from the 3GPP file is not carried over, as the raw HEVC format does not support multiplexed audio streams.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which handles the reading of the 3GPP container, decoding of its video stream, and re-encoding into HEVC format.
-i input.3gp Specifies the input 3GPP file. FFmpeg will parse the 3GPP container to extract the video stream (typically H.264 or MJPEG) and audio stream (typically AAC) for processing.
-c:v libx265 Selects the libx265 encoder to re-encode the video stream from whatever codec was used inside the 3GPP file (usually H.264) into HEVC/H.265, the high-efficiency codec that is the entire point of this conversion.
-crf 28 Sets the Constant Rate Factor for the libx265 encoder to 28, which is libx265's default quality level. This controls the tradeoff between HEVC file size and visual quality — a value of 28 is moderately compressed and suitable for general use; lower values like 18–23 yield better quality at larger file sizes.
-x265-params log-level=error Passes internal parameters directly to the libx265 encoder, in this case suppressing all console output except error messages. This prevents libx265's verbose per-frame logging from cluttering the output, which is especially important in browser-based WebAssembly environments.
output.hevc Defines the output file as a raw HEVC bitstream with the .hevc extension. This format contains only the encoded video data with no container wrapper, meaning no audio, metadata, or chapter information from the original 3GPP file will be present.

Common Use Cases

  • Archiving old mobile phone recordings that were shot in 3GPP format, converting them to space-efficient HEVC for long-term storage without the overhead of the mobile container format.
  • Preparing 3GPP footage captured on older Android or feature phones for use in a video editing pipeline that ingests raw HEVC bitstreams.
  • Reducing the storage footprint of a large collection of 3GPP clips recorded over 3G networks, where the H.264 encoding inside the container is less efficient than modern HEVC.
  • Extracting a clean HEVC video stream from a 3GPP file for inspection, quality analysis, or re-muxing into another container like MKV or MP4 using a separate step.
  • Testing HEVC encoding quality settings on mobile source material before committing to a larger batch conversion of an entire 3GPP video archive.

Frequently Asked Questions

The raw HEVC bitstream format (.hevc) is a video-only container — it cannot store audio tracks, subtitles, or any metadata alongside the video. The AAC or MP3 audio that was multiplexed inside your 3GPP file is intentionally dropped during this conversion. If you need to preserve the audio, consider converting to a container format like MP4 or MKV instead, which can hold both the HEVC video stream and the original audio track.
HEVC/H.265 typically achieves 40–50% better compression than H.264 at equivalent visual quality, so a 3GPP file encoded with H.264 can often be reduced to roughly half its original size. The actual reduction depends on the content of the video — high-motion footage compresses less aggressively than static scenes. The default CRF of 28 used in this tool targets a good compression-to-quality balance; lower CRF values will produce larger files with better quality.
CRF (Constant Rate Factor) controls the quality-to-file-size tradeoff in the libx265 encoder. A CRF of 28 is the default for libx265 and produces visually acceptable quality for most content, but it is noticeably lossy compared to the original. Lower values (e.g., CRF 18–23) produce higher quality at larger file sizes, while higher values (e.g., CRF 35–40) produce smaller files with more visible compression artifacts. To change it, modify the FFmpeg command: replace '-crf 28' with your desired value, such as '-crf 20' for near-transparent quality.
Yes. On Linux or macOS, you can use a shell loop: 'for f in *.3gp; do ffmpeg -i "$f" -c:v libx265 -crf 28 -x265-params log-level=error "${f%.3gp}.hevc"; done'. On Windows Command Prompt, use: 'for %f in (*.3gp) do ffmpeg -i "%f" -c:v libx265 -crf 28 -x265-params log-level=error "%~nf.hevc"'. This will process every .3gp file in the current directory sequentially and output a corresponding .hevc file for each.
No. The raw HEVC bitstream format has no mechanism to store container-level metadata such as creation timestamps, GPS coordinates, device information, or any tags that were embedded in the 3GPP container. This metadata is lost during conversion. If preserving metadata is important, mux the HEVC stream into an MP4 container instead (using '-c:v libx265 output.mp4' in FFmpeg), which supports metadata fields.
This flag suppresses the verbose diagnostic output that libx265 prints to the console by default, limiting log messages to errors only. It has no effect on the quality or content of the encoded video — it purely controls how much text libx265 writes during encoding. You can safely remove it if you want to see detailed encoding statistics such as per-frame decisions, bitrate breakdown, and encoder settings, which can be useful for diagnosing quality issues.

Technical Notes

The 3GPP format was designed for constrained mobile network conditions and typically uses H.264 Baseline or Main Profile video with AAC-LC audio at low bitrates, sometimes as low as 64–128 kbps total. When re-encoding to HEVC using libx265, the encoder must fully decode each frame from the source and re-compress it — this is computationally intensive and significantly slower than a remux operation. Because the source material is already lossy (H.264 or MJPEG inside 3GPP), the HEVC output undergoes generation loss: artifacts from the original encoding are baked in before libx265 applies its own compression. The raw .hevc output file lacks a container, meaning most media players will not open it directly without explicit HEVC bitstream support; VLC and mpv handle raw HEVC files, but Windows Media Player and many mobile players do not. The '-x265-params log-level=error' flag is required in some environments (particularly WebAssembly) to prevent libx265's internal logging from interfering with the FFmpeg output stream. Note that 3GPP files do not support chapters, multiple audio tracks, or subtitle streams, so there is no risk of losing those features in the output.

Related Tools