Extended (.emf)
.emf file signature | image/emf
Extended (Enhanced) Windows Metafile Format, printer spool file(0x18-17 & 0xC4-36 is Win2K/NT; 0x5C0-1 is WinXP)
Magic Bytes
Offset 0
01 00 00 00
Sources: Apache Tika, Gary Kessler
Extension
.emf
MIME Type
image/emf
Byte Offset
0
Risk Level
Safe
Validation Code
How to validate .emf files in Python
def is_emf(file_path: str) -> bool:
"""Check if file is a valid EMF by magic bytes."""
signature = bytes([0x01, 0x00, 0x00, 0x00])
with open(file_path, "rb") as f:
return f.read(4) == signature
How to validate .emf files in Node.js
function isEMF(buffer: Buffer): boolean {
const signature = Buffer.from([0x01, 0x00, 0x00, 0x00]);
return buffer.subarray(0, 4).equals(signature);
}
How to validate .emf files in Go
func IsEMF(data []byte) bool {
signature := []byte{0x01, 0x00, 0x00, 0x00}
if len(data) < 4 {
return false
}
return bytes.Equal(data[:4], signature)
}
API Endpoint
/api/v1/emf
curl https://filesignature.org/api/v1/emf
See the full API documentation for all endpoints and parameters.
Frequently Asked Questions
What is a .emf file?
A .emf file is a Extended file. Extended (Enhanced) Windows Metafile Format, printer spool file(0x18-17 & 0xC4-36 is Win2K/NT; 0x5C0-1 is WinXP)
What are the magic bytes for .emf files?
The magic bytes for Extended files are 01 00 00 00 at byte offset 0. These bytes uniquely identify the file format regardless of the file extension.
How do I validate a .emf file?
To validate a .emf file, read the first bytes of the file and compare them against the known magic bytes (01 00 00 00) at offset 0. This is more reliable than checking the file extension alone, as extensions can be renamed.
What is the MIME type for .emf files?
The primary MIME type for .emf files is image/emf.
Is it safe to open .emf files?
Extended (.emf) 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.