Siegfried is a signature-based file format identification tool.

It implements:



Mac Homebrew (or Linuxbrew)

brew install richardlehane/digipres/siegfried

(a fork of mistydemeo/digipres/siegfried)

Ubuntu/Debian (64 bit)

wget -qO - https://bintray.com/user/downloadSubjectPublicKey?username=bintray | sudo apt-key add -
echo "deb http://dl.bintray.com/siegfried/debian wheezy main" | sudo tee -a /etc/apt/sources.list
sudo apt-get update && sudo apt-get install siegfried


pkg install siegfried

Arch Linux

git clone https://aur.archlinux.org/siegfried.git
cd siegfried
makepkg -si


Identify files and directories

sf file.ext // Identify a file
sf DIR // Identify all files in a directory and its subdirectories
sf -nr DIR // Identify all files in a directory but not subdirectories

Save output

sf file.ext or DIR > my_results.yaml // Use a redirect (">") to save your results
sf -csv file.ext or DIR > my_results.csv // Get identification results in CSV format (default is YAML)
sf -json file.ext or DIR > my_results.json // Get identification results in JSON format

Additional commands

sf -z file.ext or DIR // Scan within zip, tar, gzip, warc or arc files
sf -hash sha1 file.ext or DIR // Calculate md5, sha1, sha256, sha512, or crc hash

Update your signature file

sf -update

User guide

Detailed information about installing siegfried, identifying file formats, as well as more advanced topics, is available on the wiki.

Modify your signature file

The roy tool builds siegfried signature files. For help using this tool, see this guide.


Code, License, Issues

To view the source code and see the license details, go to the project page on Github. Please post any bugs or feature request to the issues page.


Join the Google Group for updates, signature releases, and help.

Try siegfried

Richard's portrait

Drag a file on to Siegfried's anvil!

Chart your results

Upload a siegfried, droid or fido results file for analysis and sharing.

You'll get a page like this: https://www.itforarchivists.com/siegfried/results/ea1zaj

Sets tool

Format sets enable grouping of formats by the sf and roy tools: e.g. roy build -limit @pdf. They can be useful elswhere, e.g. to isolate the formats Apache Tika can extract text from. This widget converts format sets to plain text or code snippets.

1. Select one or more PUIDs or sets (e.g. fmt/123 or @pdf). Sets are prefixed with the '@' symbol.


2. Choose your output format (plain text or a code snippet with a function that matches an input PUID against a set.)