File formats
What each format actually is, who produces it, and what is lost when you convert out of it. Only formats a working tool touches are listed — a reference page whose links all lead nowhere is worse than no page.
01 Data and interchange
- JSON .json JSON is the default interchange format of the web: nested objects and arrays in plain text, produced by essentially every API and configuration system written since 2005. 12 conversions
- CSV .csv CSV is the lowest common denominator of tabular data — one row per line, fields separated by commas, quoting rules that every implementation interprets slightly differently. 20 conversions
- TSV .tsv TSV is CSV with tabs instead of commas, which removes the single most common source of CSV breakage: fields that themselves contain commas. 2 conversions
- XML .xml XML encodes data as nested tags with attributes. 6 conversions
- YAML .yaml YAML expresses the same data model as JSON using indentation instead of braces, plus comments and anchors. 6 conversions
- TOML .toml TOML is a configuration format designed to be unambiguous where YAML is subtle: no significant whitespace, explicit table headers, typed values. 2 conversions
- XLSX .xlsx XLSX is the modern Excel workbook: a ZIP archive of XML parts holding sheets, formatting, formulas and types. 5 conversions
- XLS .xls XLS is the binary Excel format used up to Office 2003. 3 conversions
02 Text
03 Subtitles
- SRT .srt SRT is the most widely supported subtitle format: numbered cues, a start and end timestamp, and the text. 9 conversions
- VTT .vtt WebVTT is the subtitle format HTML5 video understands natively through the <track> element. 4 conversions
- ASS .ass ASS carries full typesetting: fonts, colours, outlines, positioning, rotation and karaoke timing. 4 conversions
- SSA .ssa SSA is the predecessor of ASS, with a smaller style model. 1 conversion
- SBV .sbv SBV is the format the YouTube caption editor exports. 2 conversions
- SUB .sub MicroDVD SUB stores cues as frame numbers rather than timestamps, so a file is only correct at the frame rate it was authored for. 1 conversion
04 Calendar and contacts
05 Geographic data
- GPX .gpx GPX is the XML format GPS devices and fitness apps use for tracks, routes and waypoints. 5 conversions
- KML .kml KML is the Google Earth and Google My Maps format. 6 conversions
- KMZ .kmz KMZ is simply a ZIP archive containing a KML document plus its icons and overlay images. 1 conversion
- GeoJSON .geojson GeoJSON expresses geographic features as JSON, with a geometry and a free-form properties object per feature. 6 conversions
06 3D models
- STL .stl STL is the universal 3D-printing format: a bare list of triangles with no colour, no texture, no units and no scene structure. 8 conversions
- OBJ .obj OBJ is a plain-text mesh format holding vertices, normals, texture coordinates and named groups, with materials in a side-car . 8 conversions
- PLY .ply PLY was designed for scanned data and carries arbitrary per-vertex properties — most usefully per-vertex colour, which STL and plain OBJ cannot express. 4 conversions
- 3MF .3mf 3MF is the modern replacement for STL: a ZIP of XML that carries units, colour, materials, multiple objects and print metadata in one file. 4 conversions
- glTF .gltf glTF is the "JPEG of 3D" — a JSON scene description with PBR materials, animation and skinning, designed to be loaded straight onto the GPU. 2 conversions
- GLB .glb GLB is glTF packed into a single binary file with its buffers and textures embedded. 6 conversions
07 Images
- JPG .jpg JPEG is the universal photographic format: lossy, no transparency, and understood by literally everything that displays an image. 12 conversions
- JPEG .jpeg JPEG and JPG are the same format. 1 conversion
- PNG .png PNG is lossless and supports full alpha transparency, which makes it the right choice for screenshots, logos, diagrams and anything with hard edges or text. 14 conversions
- WebP .webp WebP is Google’s image format, roughly 25–35% smaller than JPEG at equivalent quality, with both lossy and lossless modes plus transparency and animation. 5 conversions
- AVIF .avif AVIF uses AV1 video compression for still images and beats WebP and JPEG substantially at low bitrates, with HDR and wide-gamut support. 2 conversions
- GIF .gif GIF is limited to a 256-colour palette per frame and one bit of transparency, but it animates and it plays everywhere without a video element. 6 conversions
- BMP .bmp BMP stores pixels essentially uncompressed, which makes files huge and decoding trivial. 2 conversions
- ICO .ico ICO is a container holding several sizes of the same icon so Windows and browsers can pick the right one. 3 conversions
- SVG .svg SVG describes shapes mathematically rather than as pixels, so it stays sharp at any size and stays editable. 2 conversions
- HEIC .heic HEIC is what an iPhone saves by default: HEVC-compressed stills at roughly half the size of an equivalent JPEG, often with depth maps and Live Photo data attached. 3 conversions
08 Audio
- MP3 .mp3 MP3 is the most compatible audio format there is — car stereos, gym equipment, DAWs, phones from 2003. 12 conversions
- WAV .wav WAV is uncompressed PCM in a RIFF container: perfect fidelity, roughly 10 MB per minute in stereo CD quality, and readable by every audio tool ever written. 8 conversions
- M4A .m4a M4A is AAC audio in an MP4 container — what iTunes, Apple Music and iPhone voice memos produce. 4 conversions
- AAC .aac AAC is the successor codec to MP3 and the audio track in most MP4 video. 1 conversion
- FLAC .flac FLAC compresses audio losslessly to roughly half its WAV size — bit-for-bit identical when decoded. 2 conversions
- OGG .ogg Ogg Vorbis is a patent-free lossy codec used widely in games, Wikipedia media and Linux software. 3 conversions
- Opus .opus Opus is the best general-purpose lossy codec available — it beats MP3 and AAC at every bitrate and handles both speech and music. 1 conversion
09 Video
- MP4 .mp4 MP4 is the container everything plays: usually H. 4 conversions
- MOV .mov MOV is Apple’s QuickTime container — what an iPhone camera and Final Cut produce. 3 conversions
- MKV .mkv Matroska is an open container that will hold any codec, unlimited audio tracks, chapters and embedded subtitles. 1 conversion
- WebM .webm WebM is a Matroska subset restricted to royalty-free codecs — VP8/VP9/AV1 video with Vorbis or Opus audio — created so the web could ship video without licensing fees. 2 conversions
10 Ebooks
- EPUB .epub EPUB is a ZIP of XHTML and CSS — a small website in a box. 4 conversions
- MOBI .mobi MOBI is the old Kindle format, retired by Amazon in 2022 in favour of KFX and EPUB. 2 conversions
- AZW3 .azw3 AZW3 (KF8) is the Kindle format that replaced MOBI, based on EPUB 3 internals with Amazon wrapping. 2 conversions
- CBZ .cbz CBZ is a ZIP archive of page images in filename order, with the extension renamed. 2 conversions
- CBR .cbr CBR is CBZ with a RAR archive instead of a ZIP. 2 conversions
11 Documents
- PDF .pdf PDF fixes a document’s layout so it renders identically everywhere. 20 conversions
- DOCX .docx DOCX is a ZIP of XML parts describing a Word document’s content and styling separately. 2 conversions
- PPTX .pptx PPTX is a ZIP of XML with one part per slide, plus the themes, layouts and masters that decide how each slide is drawn. 1 conversion
- XPS .xps XPS was Microsoft’s answer to PDF: a ZIP of XAML with every piece of text placed at exact coordinates. 1 conversion
12 Archives
- ZIP .zip ZIP is the archive format every operating system opens without installing anything. 3 conversions
- RAR .rar RAR compresses better than ZIP and supports recovery records, but it is proprietary — only WinRAR may create it, and neither Windows nor macOS opens it out of the box. 1 conversion
- 7Z .7z 7z uses LZMA2 and generally produces the smallest archives of the three common formats. 1 conversion
- TAR .tar TAR bundles files without compressing them, preserving Unix permissions and symlinks. 1 conversion