3GP (.3gp)
.3gp file signature | video/3gpp
3GP is a multimedia container format defined and maintained by the 3rd Generation Partnership Project (3GPP) for mobile devices and networks. It is commonly used for storing and streaming video and audio recordings, especially in cellular applications, camera phones, and multimedia messaging. The format is widely supported and generally low risk, though files may contain compressed media or metadata that can trigger vulnerabilities in outdated playback software.
Magic Bytes
Offset 4
66 74 79 70 33 67 65 36
Sources: Apache Tika
All Known Signatures
10 signature variants are documented for .3gp files across multiple sources.
| Hex Signature | Offset | Sources |
|---|---|---|
| 66 74 79 70 33 67 65 36 | 4 | Apache Tika |
| 66 74 79 70 33 67 65 37 | 4 | Apache Tika |
| 66 74 79 70 33 67 67 36 | 4 | Apache Tika |
| 66 74 79 70 33 67 70 31 | 4 | Apache Tika |
| 66 74 79 70 33 67 70 32 | 4 | Apache Tika |
| 66 74 79 70 33 67 70 33 | 4 | Apache Tika |
| 66 74 79 70 33 67 70 34 | 4 | Apache Tika |
| 66 74 79 70 33 67 70 35 | 4 | Apache Tika |
| 66 74 79 70 33 67 70 36 | 4 | Apache Tika |
| 66 74 79 70 33 67 73 37 | 4 | Apache Tika |
Extension
.3gp
MIME Type
video/3gpp
Byte Offset
4
Risk Level
Safe
Validation Code
How to validate .3gp files in Python
def is_3gp(file_path: str) -> bool:
"""Check if file is a valid 3GP by magic bytes at offset 4."""
signature = bytes([0x66, 0x74, 0x79, 0x70, 0x33, 0x67, 0x65, 0x36])
with open(file_path, "rb") as f:
f.seek(4)
return f.read(8) == signature
How to validate .3gp files in Node.js
function is3GP(buffer: Buffer): boolean {
const signature = Buffer.from([0x66, 0x74, 0x79, 0x70, 0x33, 0x67, 0x65, 0x36]);
if (buffer.length < 12) return false;
return buffer.subarray(4, 12).equals(signature);
}
How to validate .3gp files in Go
func Is3GP(data []byte) bool {
signature := []byte{0x66, 0x74, 0x79, 0x70, 0x33, 0x67, 0x65, 0x36}
if len(data) < 12 {
return false
}
return bytes.Equal(data[4:12], signature)
}
API Endpoint
/api/v1/3gp
curl https://filesignature.org/api/v1/3gp
See the full API documentation for all endpoints and parameters.
Related Formats
Frequently Asked Questions
What is a .3gp file?
A .3gp file is identified by the magic bytes 66 74 79 70 33 67 65 36 at byte offset 4. 3GP is a multimedia container format defined and maintained by the 3rd Generation Partnership Project (3GPP) for mobile devices and networks. It is commonly used for storing and streaming video and audio recordings, especially in cellular applications, camera phones, and multimedia messaging. The format is widely supported and generally low risk, though files may contain compressed media or metadata that can trigger vulnerabilities in outdated playback software.
What are the magic bytes for .3gp files?
The magic bytes for 3GP files are 66 74 79 70 33 67 65 36 at byte offset 4. These bytes uniquely identify the file format regardless of the file extension.
How do I validate a .3gp file?
To validate a .3gp file, read the first bytes of the file and compare them against the known magic bytes (66 74 79 70 33 67 65 36) at offset 4. This is more reliable than checking the file extension alone, as extensions can be renamed.
What is the MIME type for .3gp files?
The primary MIME type for .3gp files is video/3gpp.
Is it safe to open .3gp files?
3GP (.3gp) files are generally safe to open. They are classified as low risk because they primarily contain data rather than executable code. However, always ensure files come from a trusted source.