Skip to content

SVG magic bytes (.svg)

.svg file signature: 3C 73 76 67 | image/svg+xml

Category: Images

Scalable Vector Graphics (SVG) is an XML-based vector image format defined and maintained by the World Wide Web Consortium (W3C). It is used for icons, illustrations, diagrams, charts, and other graphics that must scale cleanly across screen sizes and resolutions, and it is widely supported in browsers and graphics software. SVG files can contain scripts, links, and embedded resources, so files from untrusted sources should be handled with appropriate caution.

Safe

Magic Bytes

Offset 0
3C 73 76 67

Sources: Apache Tika

Validation Code

How to validate .svg files in Python

Python
def is_svg(file_path: str) -> bool:
    """Check if file is a valid SVG by magic bytes."""
    signature = bytes([0x3C, 0x73, 0x76, 0x67])
    with open(file_path, "rb") as f:
        return f.read(4) == signature

How to validate .svg files in Node.js

Node.js
function isSVG(buffer: Buffer): boolean {
  const signature = Buffer.from([0x3C, 0x73, 0x76, 0x67]);
  return buffer.subarray(0, 4).equals(signature);
}

How to validate .svg files in Go

Go
func IsSVG(data []byte) bool {
    signature := []byte{0x3C, 0x73, 0x76, 0x67}
    if len(data) < 4 {
        return false
    }
    return bytes.Equal(data[:4], signature)
}

API Endpoint

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

See the full API documentation for all endpoints and parameters.

Related Formats

Frequently Asked Questions

What is a .svg file?

A .svg file is identified by the magic bytes 3C 73 76 67 at byte offset 0. Scalable Vector Graphics (SVG) is an XML-based vector image format defined and maintained by the World Wide Web Consortium (W3C). It is used for icons, illustrations, diagrams, charts, and other graphics that must scale cleanly across screen sizes and resolutions, and it is widely supported in browsers and graphics software. SVG files can contain scripts, links, and embedded resources, so files from untrusted sources should be handled with appropriate caution.

What are the magic bytes for .svg files?

The magic bytes for SVG (.svg) files are 3C 73 76 67 at byte offset 0. These bytes identify the file format more reliably than the extension alone.

How do I validate a .svg file?

To validate a .svg file, read the first bytes of the file and compare them against the known magic bytes (3C 73 76 67) at offset 0. This is more reliable than checking the file extension alone, as extensions can be renamed.

What is the MIME type for .svg files?

The primary MIME type for .svg files is image/svg+xml.

Is it safe to open .svg files?

SVG (.svg) 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.