File Types

Table of Contents
I have been going through a few things recently and it struck me that I take for granted all sorts of file types. They are file types that I have used for the last forty-odd years and I often forget that some people don't have the same level of awareness. I mostly use the Windows operating system so some of the Linux or Mac filetypes won't get a mention here. I have to admit, up front, that this is not an exhaustive list but I will try to cover the ones that I commonly come into contact with.
Filenames in Windows (and most operating systems) are in the format:
filename.extension
The file extension, that's the bit after the dot, indicates the type of file it is. Windows defaults to hiding the extension part in the file explorer.
Text Documents
.txt Plain text files, the only formatting in them is line endings and tabs. Programs like notepad and notepad++ can create and edit text files.
.rtf Rich Text Format. These are text files that offer basic formatting like fonts, different text sizes. Most word processors support the rich text format.
.doc / .docx Microsoft Word documents are advanced text files that offer extensive formatting.
.md / .mkd Markdown files are text files arranged that are simply coded. viewers of markdown files convert the output to html and then display the html web format.
.pdf Portable Document Format (read-only, widely used) These files are often used to submit text documents that are not intended to be edited. PDF files can be set up to control access to the content, for example to prevent printing. PDF files can have fonts embedded in them which means they don't have to rely on approximations where the font is not supported by the system you are on.
Image Documents
.jpg / .jpeg Image format originally proposed by the Joint Photographic Experts Group. This graphics format often results in smaller image files. The format supports 24bits of colour information per pixel. The compression algorithm is a lossy compression which means that when reconstructing the original image will lose some of the original detail, although it is possible to set the level of compression to zero in some graphics programs.
.png portable network graphics. This produces images that support 24bits of colour per pixel. The image files are generally larger than the equivalent jpg file because it employs a lossless image. The images also support transparency.
.gif Image format that supports 8bit colour per pixel and transparency. It supports animated or simple graphics with limited colour pallette.
.bmp Bitmap images (older, large file sizes) mostly found in Windows computers.
.svg → Scalable vector graphics (used in design) Vector graphics can be resized without loss and also generally produce smaller files.
Audio File Types
.mp3 Compressed audio. This is a widely supported audio filetype, the quality varies depending on the settings during production.
.wav → Uncompressed audio that is higher quality than mp3 because nothing is lost in the encoding process.
.wma → Windows Media Audio (Microsoft format). This format is compressed using a lossless compression algorithm.
.aac → Advanced Audio Coding (used in streaming) it uses a lossy encoding system to change the size of the output files. Smaller files allows the use of less bandwidth when streaming.
Video File Types
.mp4 Most common video format, it is widely supported and the lossy encoding means that the output quality varies.
.avi Older video format, it tends to produce large files. It can be lossy or lossless.
.wmv Windows Media Video (Microsoft format) This video format is compressed using a lossy algorithm, but the output files tend to be a reasonable quality.
.mkv Flexible container format for video/audio/subtitles. The flexibility allows choice in the quality of video and audio/
System & Executable File Types
.exe Executable programs
.msi Windows installer packages
.dll Dynamic Link Library. These are program files that can be loaded in by exe files at runtime.
.sys System files (drivers, OS components)
.bat / .cmd Batch scripts for command execution. These are text files that contain commands, they essentially allow a user to automate sequences of commands.
Compressed & Archive File Types
These are all compressed files generated by different programs.
.zip Standard compressed archive
.rar Alternative compressed archive
.7z High-compression archive format
.cab Windows Cabinet files (system distribution) that are not normally used by users.
Web & Code File Types
.html / .htm → Web pages
.css → Stylesheets, these are used to define the styles to apply inside web pages.
.js → JavaScript code. This is a program code that is generally executed as part of a web page. It is possible to create desktop apps using npm (node package manager) and Node.js. If that doesn't mean anything to you then don't worry, it's a bit niche.
.xml / .json → Data formats used to exchange data in web based apps.
.py / .java / .c / .cpp → Programming source files for programming languages Python/Java/C/C++, but there are many more programming languages.
Conclusion
This post could have been preaching to the choir, but I hope it has some interesting facets. In particular armed with this knowledge you might understand why you would use PNG graphics files instead of JPG or PDF instead of DOC.
