3C

SVG file signature

Magic number at the start of the file · <?xml

3C 3F 78 6D 6C

SVG is XML text, so a file usually starts with the XML prolog <?xml, or sometimes the root element <svg directly. It has no binary magic number; the opening angle-bracket text is the practical signal.

Hex signature
3C 3F 78 6D 6C
Offset
0 (start of file)
ASCII
<?xml
Length
5 bytes

What this magic number means

A magic number is a short, fixed run of bytes at a known position that tells a program what a file really is, no matter what the filename says. If a file starts with the bytes 3C 3F 78 6D 6C (the text <?xml), it is a SVG file.

Signature variants

SVG appears with more than one byte pattern. These all identify the same family:

Hex signatureOffsetNote
3C 3F 78 6D 6C0with an XML prolog
3C 73 76 670starting directly with <svg

Formats that use the 3C 3F 78 6D signature

These file types in our database carry this signature:

How to check a file's signature

You can read the first bytes of any file yourself. The magic bytes are shown in hex, the same way this page lists them.

Linux & macOS

  • xxd -l 16 example.svg
  • hexdump -C -n 16 example.svg
  • file example.svg

Windows (PowerShell)

  • Format-Hex -Path example.svg -Count 16

Python

  • open("example.svg","rb").read(5).hex()

In your browser

Frequently asked questions

What is the SVG file signature?

SVG files start with the hex bytes 3C 3F 78 6D 6C (<?xml in ASCII). This magic number identifies the format regardless of the file's name or extension.

How do I check a file's magic number?

Open the file in a hex editor, or run a command such as xxd -l 16 example.svg on Linux or macOS, or Format-Hex -Path example.svg -Count 16 in Windows PowerShell, and read the first bytes.

Can a file fake the SVG signature?

Renaming a file does not change its bytes, so the extension can lie but the signature usually cannot. A genuine SVG file has these exact bytes; a file with the wrong bytes is not really SVG, whatever its name says.

Related signatures

Sources