Convert 3GPP to CAF — Free Online Tool
Convert 3GPP mobile video files to Apple's Core Audio Format (CAF), extracting the audio stream and re-encoding it as uncompressed PCM (pcm_s16le). This is ideal for bringing mobile-recorded audio into Apple's professional audio ecosystem, where CAF's support for large file sizes and high-resolution audio makes it a robust archival and production-ready format.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your 3GPP file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
3GPP files typically carry AAC-encoded audio inside a mobile-optimized container alongside H.264 video. During this conversion, FFmpeg discards the video stream entirely and decodes the AAC audio, then re-encodes it as 16-bit signed little-endian PCM (pcm_s16le) inside a CAF container. This means the audio is fully decoded from its lossy compressed state and written out as uncompressed pulse-code modulation — a lossless representation at the bit depth captured from the decoded AAC. The CAF container itself imposes no file size limit (unlike WAV's 4GB cap), making it well-suited for long recordings. Because the source is lossy AAC, the output is uncompressed but not a true lossless capture of the original signal — quality is bounded by the original 3GPP encoding.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary — the open-source multimedia processing engine that handles decoding the 3GPP container and its AAC audio stream, and encoding the output CAF file. |
-i input.3gp
|
Specifies the input 3GPP file. FFmpeg reads the container, identifies the H.264 video and AAC audio streams inside, and prepares them for processing — the video stream will be implicitly ignored since CAF supports only audio. |
-c:a pcm_s16le
|
Sets the audio codec for the output to 16-bit signed little-endian PCM. This decodes the compressed AAC audio from the 3GPP source and writes it as uncompressed pulse-code modulation, the standard format for professional audio editing in Apple's CoreAudio stack. |
-b:a 128k
|
Specifies a target audio bitrate of 128 kilobits per second. For uncompressed PCM output (pcm_s16le), this flag is effectively informational — PCM bitrate is determined by sample rate and bit depth, not a compression target — but it is included for consistency with the tool's interface. |
output.caf
|
Defines the output filename and signals to FFmpeg that the container format should be Apple's Core Audio Format. FFmpeg infers the CAF muxer from the .caf extension, wrapping the uncompressed PCM audio in the appropriate CAF chunk structure. |
Common Use Cases
- Importing a voice memo or field recording captured on an older mobile phone into Logic Pro or GarageBand, which natively reads CAF files without conversion plugins
- Archiving 3GPP audio from legacy mobile devices into an uncompressed format for long-term storage, taking advantage of CAF's unlimited file size support for extended recordings
- Preparing a raw audio track recorded via a 3G-era mobile app for professional post-production in an Apple-centric audio workflow where CAF is the standard interchange format
- Extracting dialog or narration recorded as 3GPP video on a mobile device and converting it to uncompressed CAF for noise reduction and editing in Final Cut Pro or Audition
- Stripping the video from a 3GPP conference or lecture recording to produce a clean, uncompressed audio file for transcription services that require high-quality WAV-equivalent input
- Converting a batch of 3GPP audio attachments from old MMS messages into CAF for use in an Xcode project as audio assets requiring Apple's native format
Frequently Asked Questions
No — the output quality is fundamentally capped by the original 3GPP file's AAC encoding. AAC is a lossy codec, so the audio information discarded during the original mobile recording cannot be recovered. What this conversion does is decode the AAC and store the result as uncompressed PCM in CAF, preventing any further generational quality loss. Think of it as freezing the quality at its current state rather than improving it.
The tool defaults to pcm_s16le because CAF is primarily used in professional Apple audio workflows where uncompressed audio is standard for editing and archival. 16-bit little-endian PCM is directly analogous to CD-quality audio and is universally readable by Apple's CoreAudio framework. If you need a smaller file, you could modify the FFmpeg command to use '-c:a aac' instead, which CAF also supports — but for production use, uncompressed PCM avoids introducing a second lossy encoding pass.
3GPP files can carry basic metadata in their MP4-style container (title, author, date), but CAF uses a different metadata chunk structure (kCAF_InfoChunkID). FFmpeg will attempt to map common tags across containers, but not all 3GPP metadata fields have direct CAF equivalents, so some tags may be lost or truncated. If metadata preservation is critical, you should verify the output file's tags using a tool like afinfo on macOS after conversion.
Because the output codec is pcm_s16le (uncompressed PCM), the '-b:a' bitrate flag in the command has no effect on perceptual quality — uncompressed PCM quality is determined by sample rate and bit depth, not bitrate. To increase bit depth, change the codec flag to '-c:a pcm_s24le' for 24-bit or '-c:a pcm_s32le' for 32-bit audio. To change sample rate, add '-ar 48000' (or another rate) to the command. For example: ffmpeg -i input.3gp -c:a pcm_s24le -ar 48000 output.caf
Yes. On macOS or Linux, you can loop over files in a directory with a shell one-liner: for f in *.3gp; do ffmpeg -i "$f" -c:a pcm_s16le "${f%.3gp}.caf"; done. On Windows Command Prompt, use: for %f in (*.3gp) do ffmpeg -i "%f" -c:a pcm_s16le "%~nf.caf". This will process each 3GPP file sequentially, outputting a corresponding CAF file with the same base filename.
CAF is primarily an Apple format and has limited native support outside macOS and iOS. Windows and Linux do not natively play CAF files, and most non-Apple audio editors require a plugin or intermediate conversion to open them. If you need the output to be cross-platform, consider using WAV (pcm_s16le in a .wav container) or FLAC instead. CAF's main advantages — unlimited file size, CoreAudio integration, and multi-codec support — are most relevant when your entire workflow stays within Apple's tools.
Technical Notes
The 3GPP container is an MP4 derivative (ISO 14496-12) and typically holds H.264 video with AAC-LC audio encoded at low bitrates optimized for 3G network transmission, often 64k or below. When FFmpeg processes this file, it automatically drops the video stream because CAF is an audio-only container — no explicit '-vn' flag is required, as the output format has no video track slot. The pcm_s16le codec writes raw 16-bit signed little-endian samples, which at a typical 3GPP source sample rate of 8kHz or 16kHz results in a dramatically larger file than the original (uncompressed PCM expands relative to AAC by roughly 10–20x). CAF avoids WAV's 4GB limit via its 64-bit chunk size fields, so even very long mobile recordings can be stored in a single file. One known limitation: CAF files are not streamable over HTTP in the way AAC-in-MP4 files are, and the format is not recognized by most web browsers or media players outside the Apple ecosystem. The source 3GPP audio's original sample rate is preserved by default unless explicitly resampled with '-ar'.