53

SQLite file signature

Magic number at the start of the file · SQLite format 3\0

53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00

An SQLite database opens with the exact 16-byte ASCII string SQLite format 3 followed by a NUL. Many .db files and app data stores are SQLite databases and carry this header.

Hex signature
53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00
Offset
0 (start of file)
ASCII
SQLite format 3\0
Length
16 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 53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00 (the text SQLite format 3\0), it is a SQLite file.

Formats that use the 53 51 4C 69 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.sqlite
  • hexdump -C -n 16 example.sqlite
  • file example.sqlite

Windows (PowerShell)

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

Python

  • open("example.sqlite","rb").read(16).hex()

In your browser

Frequently asked questions

What is the SQLite file signature?

SQLite files start with the hex bytes 53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00 (SQLite format 3\0 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.sqlite on Linux or macOS, or Format-Hex -Path example.sqlite -Count 16 in Windows PowerShell, and read the first bytes.

Can a file fake the SQLite signature?

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

Related signatures

Sources