The common file extensions and what each one is — grouped by type and searchable.
| Extension | Format | Notes |
|---|---|---|
| .jpg | JPEG image | Also .jpeg; lossy photos |
| .png | PNG image | Lossless, supports transparency |
| .gif | GIF image | 256 colours, animation |
| .webp | WebP image | Smaller modern web format |
| .svg | SVG vector | Scalable, XML-based |
| .heic | HEIF image | Apple's iPhone photo format |
| .bmp | Bitmap image | Uncompressed |
| .tiff | TIFF image | High-quality, print |
| .ico | Icon | Favicons and app icons |
| Extension | Format | Notes |
|---|---|---|
| PDF document | Portable, fixed layout | |
| .docx | Word document | Microsoft Word |
| .xlsx | Excel spreadsheet | Microsoft Excel |
| .pptx | PowerPoint | Microsoft slides |
| .txt | Plain text | No formatting |
| .rtf | Rich text | Basic formatting |
| .md | Markdown | Plain-text formatting |
| .epub | eBook | Reflowable e-reader format |
| Extension | Format | Notes |
|---|---|---|
| .mp3 | MP3 audio | Lossy, universal |
| .wav | WAV audio | Uncompressed |
| .aac | AAC audio | Lossy, Apple default |
| .flac | FLAC audio | Lossless |
| .ogg | Ogg Vorbis | Open, lossy |
| .m4a | M4A audio | AAC in MP4 container |
| Extension | Format | Notes |
|---|---|---|
| .mp4 | MP4 video | Most common |
| .mov | QuickTime | Apple video |
| .mkv | Matroska | Flexible container |
| .avi | AVI video | Older Windows format |
| .webm | WebM video | Open web format |
| Extension | Format | Notes |
|---|---|---|
| .zip | ZIP archive | Universal compression |
| .rar | RAR archive | Needs WinRAR/extractor |
| .7z | 7-Zip archive | High compression |
| .tar | Tar archive | Bundles files, no compression |
| .gz | Gzip | Compressed, often with tar |
| .tar.gz | Gzipped tarball | Common on Linux/macOS |
| .dmg | macOS disk image | Mac installers |
| .iso | Disc image | CD/DVD/USB images |
| Extension | Format | Notes |
|---|---|---|
| .html | HTML | Web pages |
| .css | CSS | Stylesheets |
| .js | JavaScript | Web scripting |
| .ts | TypeScript | Typed JavaScript |
| .json | JSON | Data interchange |
| .py | Python | Python source |
| .sh | Shell script | Bash/zsh |
| .sql | SQL | Database queries |
| .yml | YAML | Config; also .yaml |
| Extension | Format | Notes |
|---|---|---|
| .csv | CSV data | Comma-separated values |
| .sqlite | SQLite database | Single-file database |
| .log | Log file | Plain-text logs |
| .exe | Windows program | Executable |
| .app | macOS app | Application bundle |
| .apk | Android app | Installable package |
| .deb | Debian package | Linux installer |
A file extension is the bit after the last dot in a filename, and its job is to tell the operating system which app should open the file and roughly what's inside. It's a label, not a guarantee — renaming photo.png to photo.jpg doesn't convert the image, it just mislabels it, and the file may fail to open. A couple of cases trip people up: .tar.gz is really two extensions (a tar archive that's then gzip-compressed), and newer formats like .heic (iPhone photos) and .webp (web images) sometimes need conversion to open in older software. To actually convert a file you need a tool that re-encodes it, not a rename.