MIME Types List

The media types you'll actually use in Content-Type headers, file uploads and APIs. Need to send one? Build a curl command and convert it to any language.

Application types

MIME typeFile extension(s)Notes
application/json.jsonThe API default. Use for request and response bodies.
application/x-www-form-urlencodedHTML form default: key=value&key2=value2.
multipart/form-dataForms with file uploads (curl -F).
application/octet-stream.binArbitrary binary data.
application/pdf.pdfPDF documents.
application/xml.xmlXML documents.
application/zip.zipZIP archives.
application/gzip.gzGzip archives.
application/graphqlGraphQL queries (some servers accept JSON instead).
application/jwt.jwtJSON Web Tokens.
application/vnd.api+jsonJSON:API specification.
application/xhtml+xml.xhtmlXHTML documents.

Text types

MIME typeFile extension(s)Notes
text/plain.txtPlain text. Often the browser fallback.
text/html.html, .htmHTML documents.
text/css.cssStylesheets.
text/javascript.js, .mjsJavaScript (formerly application/javascript).
text/csv.csvComma-separated values.
text/markdown.mdMarkdown.

Image, audio & video

MIME typeFile extension(s)Notes
image/png.pngLossless raster images.
image/jpeg.jpg, .jpegPhotos.
image/gif.gifAnimations.
image/webp.webpModern web images.
image/svg+xml.svgVector graphics.
image/avif.avifNext-gen compression.
audio/mpeg.mp3Audio.
audio/ogg.oggAudio.
video/mp4.mp4Video.
video/webm.webmVideo.
font/woff2.woff2Web fonts.

Send any Content-Type in code

Paste this into the converter:

curl -X POST https://api.example.com/upload \
  -H 'Content-Type: multipart/form-data' \
  -F 'file=@photo.png'