Free 3GP test files and sample generator
Compact mobile multimedia container used by older phones.
What is a .3gp file?
3GP: 3GPP Multimedia. 3GP is the 3GPP's packaging of the same ISO base media format that underlies MP4, trimmed for mobile networks and still what a great many phones and messaging systems emit. Its distinguishing feature for testing is that it is genuinely multi-track: a video track and an audio track sit side by side in one file, each with its own sample table describing the size, timing and location of every frame. That makes it a good way to check whether a pipeline handles two synchronised streams rather than assuming one, and whether it reports the duration of the file rather than of whichever track it happened to read first.
Why generate a test 3GP file?
- Test a video upload path with the container phones and MMS actually produce.
- Exercise a transcoder or player on a file with both audio and video tracks.
- Check duration, dimension and audio detection, and behavior on a truncated file.
What you can put inside a .3gp file
You get 3 content options for 3GP, so the file holds something meaningful rather than random padding: Color bars, Timer / counter, Logo motion. For 3GP these are alternatives, so choose the one that matches what you need to test.
How a .3gp file is identified
Every .3gp file begins at offset 4 with 66 74 79 70, "ftyp" at offset 4, the file type box, preceded by its own 4-byte length. That is what a validator inspecting content rather than the file name looks for.
How the size lands on the exact byte
ISO base media files are a tree of boxes, and a `free` box is defined as ignorable, so the padding goes in one.
Negative testing with broken 3GP files
- Invalid. Identifiable, but wrong inside, so it fails during parsing.
- Corrupted. The leading bytes are destroyed, so the
66 74 79 70identifying a .3gp is gone. Same length as the valid file. - Incomplete. Truncated part-way, so it is genuinely shorter.
- Empty. Chosen under Content rather than File Condition: valid structure, no data.
Which failure to reach for, and what to assert for each, is covered in how to make a corrupted file for testing. For upload limits and type checks see testing file upload validation.
Sample 3GP content
[Binary video], 3GPP, H.264 video with AAC audio, 320x240.
This shows the shape of the file. Your download is generated fresh at the size you choose, so the values will differ.
How to open and verify the file
Play it in VLC or any browser, or list the streams with `ffprobe file.3gp`, you should see one H.264 video stream and one AAC audio stream. Files here carry real encoded video and audio produced by your own browser, so they play rather than merely opening, which also means 3GP needs Chrome or Edge to generate.
Media type video/3gpp · extension .3gp · category Video
Generate a .3gp file → · questions about sizes, privacy or cost are answered on the site FAQ.
Frequently asked questions about 3GP files
What identifies a .3gp file?
A .3gp file begins at offset 4 with the bytes 66 74 79 70, "ftyp" at offset 4, the file type box, preceded by its own 4-byte length. Those bytes are what a content-sniffing validator looks for, and what the Corrupted condition destroys.
How can a .3gp file be an exact number of bytes?
ISO base media files are a tree of boxes, and a `free` box is defined as ignorable, so the padding goes in one.
What can go inside the 3GP file?
There are 3 content options for .3gp: Color bars, Timer / counter, Logo motion. For 3GP these are alternatives, so pick the one matching what you need to test.
Can I download several broken 3GP files at once?
Yes, select more than one File Condition and you get one ZIP containing a .3gp per condition, each named after its condition.
Can the 3GP file use UTF-16 or a byte-order mark?
No, and deliberately. A .3gp file is a container rather than plain text, so rewriting its bytes as UTF-16 would not produce a UTF-16 document. It would produce a broken file. Use a text format such as CSV, JSON or XML for encoding tests.
How do I open or verify the 3GP file?
Play it in VLC or any browser, or list the streams with ffprobe file.3gp, you should see one H.264 video stream and one AAC audio stream. Files here carry real encoded video and audio produced by your own browser, so they play rather than merely opening, which also means 3GP needs Chrome or Edge to generate.