Implementing this seems like a quick win since we need this for our documentation anyway and don't have time to manually update the list every time something changes.
$ photoprism show formats
| Format | Description | Type | Extensions |
|--------|--------------------------------|---------|--------------------------------|
| BMP | Bitmap | Image | .bmp |
| GIF | Graphics Interchange Format | Image | .gif |
| HEIF | High Efficiency Image File | Image | .heic, .heif |
| | Format | | |
| JPG | JPEG (Joint Photographic | Image | .jfi, .jfif, .jif, .jpe, |
| | Experts Group) | | .jpeg, .jpg, .thm |
| MPO | Stereoscopic 3D Format based | Image | .mpo |
| | on JPEG | | |
| PNG | Portable Network Graphics | Image | .pn, .png |
| TIFF | Tag Image File Format | Image | .tif, .tiff |
| WEBP | Google WebP | Image | .webp |
| RAW | Unprocessed Image Data | Raw | .3fr, .ari, .arw, .bay, .cap, |
| | | | .cr2, .cr3, .crw, .data, .dcr, |
| | | | .dcs, .dng, .drf, .eip, .erf, |
| | | | .fff, .gpr, .iiq, .k25, .kdc, |
| | | | .mdc, .mef, .mos, .mrw, .nef, |
| | | | .nrw, .obm, .orf, .pef, .ptx, |
| | | | .pxn, .r3d, .raf, .raw, .rw2, |
| | | | .rwl, .rwz, .sr2, .srf, .srw, |
| | | | .x3f |
| AAE | Apple Image Edits | Sidecar | .aae |
| JSON | Serialized JSON Data | Sidecar | .json |
| | (Exiftool, Google Photos) | | |
| MD | Markdown Formatted Text | Sidecar | .markdown, .md |
| TOML | Serialized TOML Data (Tom's | Sidecar | .toml |
| | Obvious, Minimal Language) | | |
| TXT | Plain Text | Sidecar | .txt |
| XML | Extensible Markup Language | Sidecar | .xml |
| XMP | Adobe Extensible Metadata | Sidecar | .xmp |
| | Platform | | |
| YML | Serialized YAML Data (Config, | Sidecar | .yaml, .yml |
| | Metadata) | | |
| 3G2 | Multimedia Container for 3G | Video | .3g2 |
| | CDMA2000, based on 3GP | | |
| 3GP | MPEG-4 Part 12, Mobile | Video | .3gp |
| | Multimedia Container | | |
| AV1 | Alliance for Open Media | Video | .av1 |
| AVC | H.264, Advanced Video Coding, | Video | .avc |
| | MPEG-4 Part 10 | | |
| AVI | Microsoft Audio Video | Video | .avi |
| | Interleave | | |
| FLV | Flash Video | Video | .f4v, .flv |
| HEVC | H.265, High Efficiency Video | Video | .hevc |
| | Coding | | |
| MKV | Matroska Multimedia Container | Video | .mkv |
| MOV | Apple QuickTime | Video | .mov, .qt |
| MP2 | H.262, H.222, MPEG-2 | Video | .mp2, .mpv |
| MP4 | MPEG-4 Part 14 Multimedia | Video | .m4v, .mp, .mp4 |
| | Container | | |
| MPG | MPEG (Moving Picture Experts | Video | .mpeg, .mpg |
| | Group) | | |
| MTS | AVCHD (Advanced Video Coding | Video | .mts |
| | High Definition) | | |
| OGV | Ogg Media by Xiph.Org | Video | .ogg, .ogv, .ogx |
| WEBM | Google WebM | Video | .webm |
| WMV | Windows Media | Video | .wmv |
As a user with a variety of file formats in my library, I would like to check them against a list of supported formats without having to read source code or external documentation.
Implementing this seems like a quick win since we need this for our documentation anyway and don't have time to manually update the list every time something changes.
To show all supported formats (
-shides the description to make the output more compact, the-nflag removes the text wrapping so that the result can be copied directly into our docs as it is a valid Markdown table):