What is the FACE file format?
A .face file is a Usenix FaceSaver Bitmap Image, a legacy raster format developed by Lou Katz at Metron Computerware, Ltd. during the 1980s for the Unix and Usenix community. Its purpose was to store a person’s facial portrait in a compact, portable, human-readable form that could be sent over early email systems and embedded in Unix user directories and Usenix conference attendee databases.
Unlike binary image formats, a .face file is plain ASCII text throughout. It opens with a series of Field: value header lines - such as FirstName:, LastName:, E-mail:, and the mandatory PicData: and Image: fields - followed by the actual pixel data encoded as lines of hexadecimal digits. Each pair of hex characters represents one 8-bit grayscale pixel, giving 256 levels of gray. Portraits were typically small fixed sizes, commonly 96×128 pixels, keeping files to a few kilobytes.
The format carries no compression; hex encoding makes .face files larger than equivalent binary images. The netpbm toolkit provides the fstopgm command to convert a .face file into a PGM graymap, and pgmtofs for the reverse. On modern systems, XnView MP can also open .face files on Windows, macOS, and Linux.
FaceSaver is a registered trademark of Metron Computerware, Ltd. The format is entirely obsolete and has long been superseded by PNG, JPEG, and similar modern photo formats.
Security & safety
RISK: LOWA FACE file is passive ASCII text with no executable code, so opening it in a viewer or text editor is safe. The only minor caveat is privacy: FaceSaver headers can contain a real name, e-mail, telephone and postal address, so a shared .face may expose personal contact details. Use the official XnView or netpbm; avoid obscure "FaceSaver converter" download sites.
Format details
in a nutshellPrograms that open FACE files
Technical details
deep spec| Format type | Plain ASCII text file: human-readable `Field: value` header followed by hexadecimal pixel rows |
| Pixel encoding | Each pixel byte is written as two hexadecimal ASCII characters; pixels are stored row by row with no binary data |
| Color model | Grayscale only - no color channels supported |
| Color depth | 8 bits per pixel, yielding 256 levels of gray |
| Storage efficiency | Uncompressed and hex-encoded; a standard 96×128 portrait grows to roughly 24 KB as ASCII text vs. ~12 KB as raw binary |
| Typical dimensions | Commonly 96×128 pixels for portrait headshots; the spec imposes no hard upper limit on image size |
| Identification / magic | No binary magic number; files are recognized by leading ASCII header lines such as `FirstName:` or `PicData:` |
| Mandatory header fields | `PicData:` (declares width, height, and bit depth) and `Image:` (marks the start of pixel data) |
| Optional metadata fields | `FirstName:`, `LastName:`, `E-mail:`, `Organization:` - personal-info fields embedded in the ASCII header |
| Conversion tools | `fstopgm` converts `.face` to a PGM graymap; `pgmtofs` converts PGM back to `.face` - both part of the netpbm toolkit |
| Developer / trademark | Created by Lou Katz at Metron Computerware, Ltd.; FaceSaver® is a registered trademark of Metron Computerware, Ltd. |
| Platform origin | Designed for Unix and the Usenix community; used in early Unix finger databases and Usenix conference attendee directories |
| MIME type | `image/x-portable-graymap` (also served as `application/octet-stream`) |
| Format status | Obsolete legacy format, not updated for decades; superseded by PGM, PNG, and modern photo formats |
| Modern viewer support | XnView / XnView MP on Windows, macOS, and Linux; any plain-text editor can inspect the ASCII header and raw pixel data |
| Released | 1980s (Unix/Usenix community; for compact, portable facial portrait images) |
| Latest version | Stable/frozen - an obsolete legacy format, not updated for decades |
| Open standard | Yes · royalty-free |
| Specification | www.fileformat.info |
FACE conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about FACE files.