| # Enumerated Media Types |
| # ---------------------- |
| # |
| # This is a curated list of about 200 common Media Types (also known as MIME |
| # Types). The official name, with variable length, is in the fourth column. A |
| # fixed length contraction, presented in 4/4/2 format, is in the third column. |
| # The base38 numeric encoding of that 4/4/2 string is in the first (hex) and |
| # second (decimal) columns. These positive numbers are all less than or equal |
| # to ((1<<53)-1), also known as Number.MAX_SAFE_INTEGER in JavaScript, and so |
| # generally safe to pass around as a JSON value, float64, int64 or uint64. |
| # |
| # As an int64 or uint64, the high 32 bits (of which only 21 are used) hold the |
| # top-level type: 0x09CC62 means "application", 0x106BF7 means "image", etc. |
| # |
| # Using fixed-size numbers instead of variable-length strings can be useful in |
| # file formats, wire protocols, database tables or other contexts where dynamic |
| # memory allocation is unavailable or fallible or where variable-length data |
| # complicates matters. At the micro-optimization level, comparing or hashing |
| # uint64 numbers is also faster than for arbitrary strings. |
| # |
| # Using a sparse enumeration (instead of the dense 1 = "application/epub+zip", |
| # 2 = "application/java-archive", etc) means that, when debugging or logging, |
| # the numerical value can be converted to a somewhat-human-readable form (the |
| # "appl/java/ar" 4/4/2 string) purely algorithmically, without a lookup table. |
| # Inserting new entries can also preserve the sortedness of the 4/4/2 form |
| # without requiring renumbering. |
| # |
| # When debugging, if the numerical value is all that you know, grepping a large |
| # codebase for 0x09CC62_880DB9BE or 2757998351858110 will also produce far |
| # fewer false positives than grepping for 2. |
| # |
| # The pua.example subtypes (e.g. for private use within a system that deals |
| # with "foobar.example" files) are an unofficial suggestion for entries not in |
| # the official IANA registry, similar to Unicode's Private Use Area. For a PUA |
| # entry's 4/4/2 string, the middle-4 starts with a "~" (and cannot be "~~~~") |
| # but the rest of the middle-4-right-2 is freeform. |
| # |
| # The official IANA Media Types registry: |
| # https://www.iana.org/assignments/media-types/media-types.xhtml |
| # |
| # A popular subset of that registry, with about 800 entries, as well as a |
| # mapping between Media Types (like "application/java-archive") and filename |
| # extensions (like ".jar"): |
| # https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types |
| # |
| # This file (enumerated-media-types.txt) is canonically hosted in the doc/note |
| # directory of the github.com/google/wuffs repository. That same directory also |
| # holds a base38-and-fourcc.md file that elaborates on base38 encoding. |
| |
| 0x09CC62_6933B000 2757997834252288 appl/epub/.. application/epub+zip |
| 0x09CC62_880DB9BE 2757998351858110 appl/java/ar application/java-archive |
| 0x09CC62_880DBC67 2757998351858791 appl/java/so application/java-serialized-object |
| 0x09CC62_880DBCD7 2757998351858903 appl/java/vm application/java-vm |
| 0x09CC62_8B321000 2757998404571136 appl/json/.. application/json |
| 0x09CC62_9C23B800 2757998688843776 appl/mate/.. application/mathematica |
| 0x09CC62_9C23F800 2757998688860160 appl/matm/.. application/mathml+xml |
| 0x09CC62_9F53D800 2757998742329344 appl/mswo/.. application/msword |
| 0x09CC62_A9E37800 2757998919514112 appl/octe/.. application/octet-stream |
| 0x09CC62_B0B24000 2757999033729024 appl/pdf./.. application/pdf |
| 0x09CC62_B2B30000 2757999067332608 appl/post/.. application/postscript |
| 0x09CC62_C0E9C000 2757999305801728 appl/rtf./.. application/rtf |
| 0x09CC62_C664E000 2757999397756928 appl/smil/.. application/smil+xml |
| 0x09CC62_CE584000 2757999531147264 appl/ttml/.. application/ttml+xml |
| 0x09CC62_D86553E7 2757999699776487 appl/vand/pa application/vnd.android.package-archive |
| 0x09CC62_D8681384 2757999699956612 appl/vapp/mp application/vnd.apple.mpegurl |
| 0x09CC62_D9754B34 2757999717600052 appl/vgoe/kl application/vnd.google-earth.kml+xml |
| 0x09CC62_D9754B42 2757999717600066 appl/vgoe/kz application/vnd.google-earth.kmz |
| 0x09CC62_D9C13800 2757999722575872 appl/vicc/.. application/vnd.iccprofile |
| 0x09CC62_DA1CBB29 2757999728573225 appl/vkde/ka application/vnd.kde.karbon |
| 0x09CC62_DA1CBB2B 2757999728573227 appl/vkde/kc application/vnd.kde.kchart |
| 0x09CC62_DA1CBB2E 2757999728573230 appl/vkde/kf application/vnd.kde.kformula |
| 0x09CC62_DA1CBB31 2757999728573233 appl/vkde/ki application/vnd.kde.kivio |
| 0x09CC62_DA1CBB37 2757999728573239 appl/vkde/ko application/vnd.kde.kontour |
| 0x09CC62_DA1CBB38 2757999728573240 appl/vkde/kp application/vnd.kde.kpresenter |
| 0x09CC62_DA1CBB3B 2757999728573243 appl/vkde/ks application/vnd.kde.kspread |
| 0x09CC62_DA1CBB3F 2757999728573247 appl/vkde/kw application/vnd.kde.kword |
| 0x09CC62_DA8851F9 2757999735624185 appl/vms./ca application/vnd.ms-cab-compressed |
| 0x09CC62_DA88525C 2757999735624284 appl/vms./ex application/vnd.ms-excel |
| 0x09CC62_DA8852CA 2757999735624394 appl/vms./ht application/vnd.ms-htmlhelp |
| 0x09CC62_DA8853F5 2757999735624693 appl/vms./po application/vnd.ms-powerpoint |
| 0x09CC62_DACDF9EE 2757999740189166 appl/voao/c. application/vnd.oasis.opendocument.chart |
| 0x09CC62_DACDFA0C 2757999740189196 appl/voao/ct application/vnd.oasis.opendocument.chart-template |
| 0x09CC62_DACDFA14 2757999740189204 appl/voao/d. application/vnd.oasis.opendocument.database |
| 0x09CC62_DACDFA60 2757999740189280 appl/voao/f. application/vnd.oasis.opendocument.formula |
| 0x09CC62_DACDFA7E 2757999740189310 appl/voao/ft application/vnd.oasis.opendocument.formula-template |
| 0x09CC62_DACDFA86 2757999740189318 appl/voao/g. application/vnd.oasis.opendocument.graphics |
| 0x09CC62_DACDFAA4 2757999740189348 appl/voao/gt application/vnd.oasis.opendocument.graphics-template |
| 0x09CC62_DACDFAD2 2757999740189394 appl/voao/i. application/vnd.oasis.opendocument.image |
| 0x09CC62_DACDFAF0 2757999740189424 appl/voao/it application/vnd.oasis.opendocument.image-template |
| 0x09CC62_DACDFBDC 2757999740189660 appl/voao/p. application/vnd.oasis.opendocument.presentation |
| 0x09CC62_DACDFBFA 2757999740189690 appl/voao/pt application/vnd.oasis.opendocument.presentation-template |
| 0x09CC62_DACDFC4E 2757999740189774 appl/voao/s. application/vnd.oasis.opendocument.spreadsheet |
| 0x09CC62_DACDFC6C 2757999740189804 appl/voao/st application/vnd.oasis.opendocument.spreadsheet-template |
| 0x09CC62_DACDFC74 2757999740189812 appl/voao/t. application/vnd.oasis.opendocument.text |
| 0x09CC62_DACDFC8B 2757999740189835 appl/voao/tm application/vnd.oasis.opendocument.text-master |
| 0x09CC62_DACDFC92 2757999740189842 appl/voao/tt application/vnd.oasis.opendocument.text-template |
| 0x09CC62_DACDFC95 2757999740189845 appl/voao/tw application/vnd.oasis.opendocument.text-web |
| 0x09CC62_DADFCBF6 2757999741357046 appl/vopo/pp application/vnd.openxmlformats-officedocument.presentationml.presentation |
| 0x09CC62_DADFCBF8 2757999741357048 appl/vopo/pr application/vnd.openxmlformats-officedocument.presentationml.slide |
| 0x09CC62_DADFCBF9 2757999741357049 appl/vopo/ps application/vnd.openxmlformats-officedocument.presentationml.slideshow |
| 0x09CC62_DADFCBFA 2757999741357050 appl/vopo/pt application/vnd.openxmlformats-officedocument.presentationml.template |
| 0x09CC62_DADFCC6B 2757999741357163 appl/vopo/ss application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| 0x09CC62_DADFCC6C 2757999741357164 appl/vopo/st application/vnd.openxmlformats-officedocument.spreadsheetml.template |
| 0x09CC62_DADFCCF4 2757999741357300 appl/vopo/wd application/vnd.openxmlformats-officedocument.wordprocessingml.document |
| 0x09CC62_DADFCD04 2757999741357316 appl/vopo/wt application/vnd.openxmlformats-officedocument.wordprocessingml.template |
| 0x09CC62_DF1E4800 2757999812560896 appl/wasm/.. application/wasm |
| 0x09CC62_E5514000 2757999916564480 appl/x7z./.. application/x-7z-compressed |
| 0x09CC62_E5BCB800 2757999923607552 appl/xabi/.. application/x-abiword |
| 0x09CC62_E5CD9227 2757999924711975 appl/xapp/di application/x-apple-diskimage |
| 0x09CC62_E5F28000 2757999927132160 appl/xbit/.. application/x-bittorrent |
| 0x09CC62_E605D800 2757999928399872 appl/xbz2/.. application/x-bzip2 |
| 0x09CC62_E61DF800 2757999929980928 appl/xche/.. application/x-chess-pgn |
| 0x09CC62_E6477000 2757999932698624 appl/xdeb/.. application/x-debian-package |
| 0x09CC62_E653B800 2757999933503488 appl/xdoo/.. application/x-doom |
| 0x09CC62_E65BD800 2757999934035968 appl/xdvi/.. application/x-dvi |
| 0x09CC62_E6DA1800 2757999942309888 appl/xgnu/.. application/x-gnumeric |
| 0x09CC62_E70E1800 2757999945717760 appl/xhtm/.. application/xhtml+xml |
| 0x09CC62_E73A1800 2757999948601344 appl/xiso/.. application/x-iso9660-image |
| 0x09CC62_E7AC4000 2757999956082688 appl/xlat/.. application/x-latex |
| 0x09CC62_E7E58000 2757999959834624 appl/xml./.. application/xml |
| 0x09CC62_E7E5F000 2757999959863296 appl/xmld/.. application/xml-dtd |
| 0x09CC62_E7EDD1BC 2757999960379836 appl/xms./ap application/x-ms-application |
| 0x09CC62_E7EDD460 2757999960380512 appl/xms./sh application/x-ms-shortcut |
| 0x09CC62_E7EE4000 2757999960408064 appl/xmsd/.. application/x-msdownload |
| 0x09CC62_E8BAF000 2757999973822464 appl/xrar/.. application/x-rar-compressed |
| 0x09CC62_E8EF8000 2757999977267200 appl/xsh./.. application/x-sh |
| 0x09CC62_E8F04800 2757999977318400 appl/xsho/.. application/x-shockwave-flash |
| 0x09CC62_E8FAE000 2757999978012672 appl/xsql/.. application/x-sql |
| 0x09CC62_E9153000 2757999979737088 appl/xtar/.. application/x-tar |
| 0x09CC62_E91A2000 2757999980060672 appl/xtex/.. application/x-tex |
| 0x09CC62_E91A2277 2757999980061303 appl/xtex/fm application/x-tex-tfm |
| 0x09CC62_E91A22EA 2757999980061418 appl/xtex/in application/x-texinfo |
| 0x09CC62_E9E68000 2757999993454592 appl/xxz./.. application/x-xz |
| 0x09CC62_F49B4000 2758000173072384 appl/zip./.. application/zip |
| 0x09CC62_FAA35800 2758000274266112 appl/~exa/.. application/pua.example |
| 0x09CC62_FE887DA3 2758000339615139 appl/~~~~/~~ application/* |
| |
| 0x09E6CB_1DE9D000 2787034845007872 audi/3gpp/.. audio/3gpp |
| 0x09E6CB_4C087000 2787035618766848 audi/acc3... audio/ac3 |
| 0x09E6CB_4DDD6000 2787035649499136 audi/amr./.. audio/amr |
| 0x09E6CB_4DDE6800 2787035649566720 audi/amrw/.. audio/amr-wb |
| 0x09E6CB_52746800 2787035726505984 audi/basi/.. audio/basic |
| 0x09E6CB_9D79D800 2787036985153536 audi/midi/.. audio/midi |
| 0x09E6CB_9E86B000 2787037002772480 audi/mobx/.. audio/mobile-xmf |
| 0x09E6CB_9EAA7000 2787037005115392 audi/mp4./.. audio/mp4 |
| 0x09E6CB_9EB6D800 2787037005928448 audi/mpeg/.. audio/mpeg |
| 0x09E6CB_AA881000 2787037204189184 audi/ogg./.. audio/ogg |
| 0x09E6CB_E5BB5800 2787038197405696 audi/xaac/.. audio/x-aac |
| 0x09E6CB_E5C4F000 2787038198034432 audi/xaif/.. audio/x-aiff |
| 0x09E6CB_E6A9F800 2787038213044224 audi/xfla/.. audio/x-flac |
| 0x09E6CB_E7D96000 2787038232928256 audi/xmat/.. audio/x-matroska |
| 0x09E6CB_E7EB3800 2787038234097664 audi/xmpu/.. audio/x-mpegurl |
| 0x09E6CB_E7EDD4F1 2787038234268913 audi/xms./wa audio/x-ms-wax |
| 0x09E6CB_E7EDD4FD 2787038234268925 audi/xms./wm audio/x-ms-wma |
| 0x09E6CB_E8702000 2787038242807808 audi/xpnr/.. audio/x-pn-realaudio |
| 0x09E6CB_E99CB000 2787038262505472 audi/xwav/.. audio/x-wav |
| 0x09E6CB_FE887DA3 2787038613503395 audi/~~~~/~~ audio/* |
| |
| 0x0DF632_5B96B000 3929870842638336 font/coll/.. font/collection |
| 0x0DF632_ACD18000 3929872205447168 font/otf./.. font/otf |
| 0x0DF632_CE4F4000 3929872767336448 font/ttf./.. font/ttf |
| 0x0DF632_E1866000 3929873089716224 font/woff/.. font/woff |
| 0x0DF632_E1866072 3929873089716338 font/woff/2. font/woff2 |
| 0x0DF632_FE887DA3 3929873576394147 font/~~~~/~~ font/* |
| |
| 0x106BF7_4F695000 4622309560766464 imag/avif/.. image/avif |
| 0x106BF7_548DC000 4622309647040512 imag/bmp./.. image/bmp |
| 0x106BF7_754B2000 4622310196322304 imag/gif./.. image/gif |
| 0x106BF7_8A8FD000 4622310553145344 imag/jp2./.. image/jp2 |
| 0x106BF7_8A9E9800 4622310554114048 imag/jpeg/.. image/jpeg |
| 0x106BF7_8AB4A000 4622310555557888 imag/jpx./.. image/jpx |
| 0x106BF7_8C0F6000 4622310578282496 imag/jxl./.. image/jxl |
| 0x106BF7_921BE000 4622310679764992 imag/ktx./.. image/ktx |
| 0x106BF7_B276B000 4622311222587392 imag/png./.. image/png |
| 0x106BF7_C7F90000 4622311583449088 imag/svgx/.. image/svg+xml |
| 0x106BF7_CC5F6000 4622311657267200 imag/tiff/.. image/tiff |
| 0x106BF7_D859CBF9 4622311858228217 imag/vado/ps image/vnd.adobe.photoshop |
| 0x106BF7_D8E88000 4622311867580416 imag/vdjv/.. image/vnd.djvu |
| 0x106BF7_DC3704F2 4622311923057906 imag/vwap/wb image/vnd.wap.wbmp |
| 0x106BF7_DFBEB000 4622311982280704 imag/webp/.. image/webp |
| 0x106BF7_E7271800 4622312106563584 imag/xico/.. image/x-icon |
| 0x106BF7_E87151B9 4622312128205241 imag/xpor/am image/x-portable-anymap |
| 0x106BF7_E87151DF 4622312128205279 imag/xpor/bm image/x-portable-bitmap |
| 0x106BF7_E871529D 4622312128205469 imag/xpor/gm image/x-portable-graymap |
| 0x106BF7_E87153F3 4622312128205811 imag/xpor/pm image/x-portable-pixmap |
| 0x106BF7_E91BC800 4622312139376640 imag/xtga/.. image/x-tga |
| 0x106BF7_FAA35800 4622312433473536 imag/~exa/.. image/pua.example |
| 0x106BF7_FE887DA3 4622312498822563 imag/~~~~/~~ image/* |
| |
| 0x13F426_4DB31800 5616469907019776 mult/alte/.. multipart/alternative |
| 0x13F426_56B07800 5616470057842688 mult/byte/.. multipart/byteranges |
| 0x13F426_6FB61800 5616470477641728 mult/form/.. multipart/form-data |
| 0x13F426_9D917800 5616471246993408 mult/mixe/.. multipart/mixed |
| 0x13F426_E7E30000 5616472493850624 mult/xmix/.. multipart/x-mixed-replace |
| 0x13F426_FE887DA3 5616472873794979 mult/~~~~/~~ multipart/* |
| |
| 0x197816_59144800 7168911796881408 text/cacm/.. text/cache-manifest |
| 0x197816_591EB800 7168911797565440 text/cale/.. text/calendar |
| 0x197816_5C52D000 7168911851311104 text/css./.. text/css |
| 0x197816_5C566000 7168911851544576 text/csv./.. text/csv |
| 0x197816_7DF74000 7168912415735808 text/html/.. text/html |
| 0x197816_880E4800 7168912585017344 text/javs/.. text/javascript |
| 0x197816_9C218800 7168912921823232 text/mark/.. text/markdown |
| 0x197816_B215E800 7168913290160128 text/plai/.. text/plain |
| 0x197816_C0E9C000 7168913538924544 text/rtf./.. text/rtf |
| 0x197816_CAF20800 7168913707239424 text/tabs/.. text/tab-separated-values |
| 0x197816_CE8B9000 7168913767632896 text/turt/.. text/turtle |
| 0x197816_D4AC0000 7168913870422016 text/uril/.. text/uri-list |
| 0x197816_E6082000 7168914161672192 text/xc../.. text/x-c |
| 0x197816_E7521000 7168914183294976 text/xjav/.. text/x-java-source |
| 0x197816_E7E58000 7168914192957440 text/xml./.. text/xml |
| 0x197816_E971A000 7168914218917888 text/xvcl/.. text/x-vcalendar |
| 0x197816_E971D000 7168914218930176 text/xvcr/.. text/x-vcard |
| 0x197816_FE887DA3 7168914572737955 text/~~~~/~~ text/* |
| |
| 0x1B384F_1DE9D000 7661736826621952 vide/3gpp/.. video/3gpp |
| 0x1B384F_1DE9D072 7661736826622066 vide/3gpp/2. video/3gpp2 |
| 0x1B384F_9EAA7000 7661738986729472 vide/mp4./.. video/mp4 |
| 0x1B384F_9EB6D800 7661738987542528 vide/mpeg/.. video/mpeg |
| 0x1B384F_AA881000 7661739185803264 vide/ogg./.. video/ogg |
| 0x1B384F_BA681800 7661739452143616 vide/quic/.. video/quicktime |
| 0x1B384F_DA85B800 7661739990956032 vide/vmpu/.. video/vnd.mpegurl |
| 0x1B384F_DFBE9800 7661740078569472 vide/webm/.. video/webm |
| 0x1B384F_E6AAA000 7661740194701312 vide/xflv/.. video/x-flv |
| 0x1B384F_E7D96000 7661740214542336 vide/xmat/.. video/x-matroska |
| 0x1B384F_E7E86800 7661740215527424 vide/xmng/.. video/x-mng |
| 0x1B384F_E7EDD1BF 7661740215882175 vide/xms./as video/x-ms-asf |
| 0x1B384F_E7EDD4FD 7661740215883005 vide/xms./wm video/x-ms-wm |
| 0x1B384F_E7EDD506 7661740215883014 vide/xms./wv video/x-ms-wmv |
| 0x1B384F_E7EDD508 7661740215883016 vide/xms./wx video/x-ms-wmx |
| 0x1B384F_E7EDD52E 7661740215883054 vide/xms./xx video/x-ms-wvx |
| 0x1B384F_E7EED000 7661740215947264 vide/xmsv/.. video/x-msvideo |
| 0x1B384F_FE887DA3 7661740595117475 vide/~~~~/~~ video/* |