A file format is a particular layout of data in a computer file. Some file formats have well-defined and publicly available specifications, but others may be described only within the software that processes them. Some file formats define strong rules as to what can be in them. A JPEG cannot hold anything but image data for example, but an AVI can hold audio or video data, frequently both. Files are typically stored in a file system.
- Audio file formats
- Documentation formats - These are ways of storing mainly text
- Image or graphics file formats
- Object code file formats
- Page description languages
- Scene description languages
- Archivation and compression formats
- Video file formats
- File system - when a file system is used as a random-access archive file inside another file system, the file is often called a "disk image".
Some file formats may be used for more than one type of content. For example GIF can store both pictures and simple animations, and avi can store almost any type of multimedia. The Ogg format can potentially store video and/or audio, but actual implementations are currently rare as of December 2001, and only an audio codec called Ogg Vorbis exists for the format, though developers continue to work on video codecs such as the Tarkin video codec and to integrate other formats such as MNG (lossless and motion JPEG compression), FLAC (lossless audio compression), and XML (text-based data such as captions and subtitles) into the Ogg framework. IFF is a now defunct format which, like AVI, is a shell, but IFF had no limitations, being able to store sound, image, movie, animation, data or archive. If a programmer wanted to store data in the IFF format, he just had to define the subformat following the general rules. For example, WAV files follow a variation of IFF called RIFF.
A good source of information on file formats is the Wotsit archive at http://www.wotsit.org