M4

text/plain

Safe

Magic Bytes

Offset: 0
54 68 69 73 20 69 73 20 54 65 58 2C

The M4 file format is a general-purpose macro processor script originally designed by Brian Kernighan and Dennis Ritchie for Unix systems. It is widely used within the GNU Build System to generate configuration scripts and serves as a flexible template engine for text processing. Although inherently safe as plain text, these files define complex recursive macro expansions fundamental to software portability and automated compilation workflows.

Extension

.m4

MIME Type

text/plain

Byte Offset

0

Risk Level

Safe

Validation Code

How to validate .m4 files in Python

Python
def is_m4(file_path: str) -> bool:
    """Check if file is a valid M4 by magic bytes."""
    signature = bytes([0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x54, 0x65, 0x58, 0x2C])
    with open(file_path, "rb") as f:
        return f.read(12) == signature

How to validate .m4 files in Node.js

Node.js
function isM4(buffer: Buffer): boolean {
  const signature = Buffer.from([0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x54, 0x65, 0x58, 0x2C]);
  return buffer.subarray(0, 12).equals(signature);
}
Go
func IsM4(data []byte) bool {
    signature := []byte{0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x54, 0x65, 0x58, 0x2C}
    if len(data) < 12 {
        return false
    }
    return bytes.Equal(data[:12], signature)
}

API Endpoint

GET /api/v1/m4
curl https://filesignature.org/api/v1/m4

Related Formats