X-Face

X-Face is a compressed image format that can be placed in an email or Usenet newsgroup message header. It is expected to contain the sender's picture or avatar. It is a 48×48 bi-level image. The format appears to be fairly complex, and probably uses arithmetic coding.

Discussion
Although X-Face data is often expected to be stored in a file, there isn't really a standard X-Face file format. The main thing to be aware of is that sometimes the "X-Face:" header name is stored in the file, and sometimes it is not. Different software has different requirements.

File extensions .face and .xface have both been suggested. Sometimes, X-Face data will be in a file named ".face" in the user's home directory.

Although a fair number of open source programs support the format, we have not been able to locate any specifications. Most or all X-Face code is based on James Ashton's Compface software, and Compface's code is fairly opaque.

Compface intermediate format
The Compface software by default converts X-Face to and from a custom format, which it describes as "48 lines each of 3 sixteen bit hexadecimal integers, comma terminated in C initialiser style." It looks something like this:

0x0000,0x0000,0x0000, 0x0000,0x4400,0x0000, 0x0000,0x7600,0x0000, 0x0002,0x6B80,0x0100, 0x0006,0x0440,0x0600, 0x0008,0x0040,0x0E00, ...

However, at least one implementation uses a format that looks like this: 0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x44,0x00,0x00,0x00, 0x00,0x00,0x76,0x00,0x00,0x00, 0x00,0x02,0x6B,0x80,0x01,0x00, 0x00,0x06,0x04,0x40,0x06,0x00, 0x00,0x08,0x00,0x40,0x0E,0x00, ...

Software

 * Compface
 * compface-1.4.tar.gz ( to convert to XBM format)
 * compface-1.5.2.tar.gz
 * compface-25Jan90.tar.gz
 * X-Faces for Windows 95/NT
 * FFmpeg
 * Online X-Face Converter
 * Online X-Face Converter

Samples

 * https://dev.mutt.org/trac/wiki/MuttGuide/XFace - Search for "compface tao.xbm".
 * WinFace1_3-src.zip → WinFace/default_face.txt
 * faces man page, "XFACE SUPPORT" section, has an example.

Links

 * Faces Archive - Lists some X-Face resources
 * faces man page
 * X-Face