Adobe FrameMaker file (.fm)
.fm file signature | application/octet-stream
Adobe FrameMaker file
Magic Bytes
Offset 0
3C 4D 61 6B 65 72 46 69 6C 65 20
Sources: Gary Kessler
Extension
.fm
MIME Type
application/octet-stream
Byte Offset
0
Risk Level
Safe
Validation Code
How to validate .fm files in Python
def is_fm(file_path: str) -> bool:
"""Check if file is a valid FM by magic bytes."""
signature = bytes([0x3C, 0x4D, 0x61, 0x6B, 0x65, 0x72, 0x46, 0x69, 0x6C, 0x65, 0x20])
with open(file_path, "rb") as f:
return f.read(11) == signature
How to validate .fm files in Node.js
function isFM(buffer: Buffer): boolean {
const signature = Buffer.from([0x3C, 0x4D, 0x61, 0x6B, 0x65, 0x72, 0x46, 0x69, 0x6C, 0x65, 0x20]);
return buffer.subarray(0, 11).equals(signature);
}
How to validate .fm files in Go
func IsFM(data []byte) bool {
signature := []byte{0x3C, 0x4D, 0x61, 0x6B, 0x65, 0x72, 0x46, 0x69, 0x6C, 0x65, 0x20}
if len(data) < 11 {
return false
}
return bytes.Equal(data[:11], signature)
}
API Endpoint
/api/v1/fm
curl https://filesignature.org/api/v1/fm
See the full API documentation for all endpoints and parameters.
Frequently Asked Questions
What is a .fm file?
A .fm file is a Adobe FrameMaker file file. Adobe FrameMaker file
What are the magic bytes for .fm files?
The magic bytes for Adobe FrameMaker file files are 3C 4D 61 6B 65 72 46 69 6C 65 20 at byte offset 0. These bytes uniquely identify the file format regardless of the file extension.
How do I validate a .fm file?
To validate a .fm file, read the first bytes of the file and compare them against the known magic bytes (3C 4D 61 6B 65 72 46 69 6C 65 20) at offset 0. This is more reliable than checking the file extension alone, as extensions can be renamed.
What is the MIME type for .fm files?
There is no officially registered MIME type for .fm files. Systems typically use application/octet-stream as a generic fallback when handling this format.
Is it safe to open .fm files?
Adobe FrameMaker file (.fm) 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.