ToolActToolAct

Referência de Tipos MIME

Busca rápida de tipos MIME de extensões de arquivo com busca e filtro de categoria

Total 115 个类型

Documento(17)

.pdf

application/pdf

.doc

application/msword

.docx

application/vnd.openxmlformats-officedocument.wordprocessingml.document

.xls

application/vnd.ms-excel

.xlsx

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

.ppt

application/vnd.ms-powerpoint

.pptx

application/vnd.openxmlformats-officedocument.presentationml.presentation

.txt

text/plain

.rtf

application/rtf

.odt

application/vnd.oasis.opendocument.text

.ods

application/vnd.oasis.opendocument.spreadsheet

.odp

application/vnd.oasis.opendocument.presentation

.csv

text/csv

.json

application/json

.xml

application/xml

.html

text/html

.htm

text/html

Imagem(15)

.jpg

image/jpeg

.jpeg

image/jpeg

.png

image/png

.gif

image/gif

.webp

image/webp

.svg

image/svg+xml

.ico

image/x-icon

.bmp

image/bmp

.tiff

image/tiff

.tif

image/tiff

.avif

image/avif

.heic

image/heic

.heif

image/heif

.psd

image/vnd.adobe.photoshop

.raw

image/raw

Áudio(10)

.mp3

audio/mpeg

.wav

audio/wav

.ogg

audio/ogg

.m4a

audio/mp4

.flac

audio/flac

.aac

audio/aac

.wma

audio/x-ms-wma

.aiff

audio/aiff

.mid

audio/midi

.midi

audio/midi

Vídeo(12)

.mp4

video/mp4

.webm

video/webm

.avi

video/x-msvideo

.mov

video/quicktime

.wmv

video/x-ms-wmv

.flv

video/x-flv

.mkv

video/x-matroska

.m4v

video/mp4

.mpeg

video/mpeg

.mpg

video/mpeg

.3gp

video/3gpp

.m2ts

video/mp2t

Arquivo(9)

.zip

application/zip

.rar

application/vnd.rar

.7z

application/x-7z-compressed

.tar

application/x-tar

.gz

application/gzip

.bz2

application/x-bzip2

.xz

application/x-xz

.iso

application/x-iso9660-image

.dmg

application/x-apple-diskimage

Código(31)

.js

application/javascript

.mjs

application/javascript

.ts

application/typescript

.tsx

application/typescript

.jsx

application/javascript

.css

text/css

.scss

text/x-scss

.sass

text/x-sass

.less

text/x-less

.py

text/x-python

.java

text/x-java

.c

text/x-c

.cpp

text/x-c++

.h

text/x-c

.hpp

text/x-c++

.cs

text/x-csharp

.go

text/x-go

.rs

text/x-rust

.rb

text/x-ruby

.php

text/x-php

.swift

text/x-swift

.kt

text/x-kotlin

.sql

application/sql

.sh

application/x-sh

.bash

application/x-sh

.yaml

application/x-yaml

.yml

application/x-yaml

.toml

application/toml

.ini

text/x-ini

.vue

text/x-vue

.svelte

text/x-svelte

Fonte(5)

.woff

font/woff

.woff2

font/woff2

.ttf

font/ttf

.otf

font/otf

.eot

application/vnd.ms-fontobject

Outro(16)

.exe

application/vnd.microsoft.portable-executable

.msi

application/x-msi

.apk

application/vnd.android.package-archive

.ipa

application/octet-stream

.deb

application/vnd.debian.binary-package

.rpm

application/x-rpm

.jar

application/java-archive

.war

application/java-archive

.swf

application/x-shockwave-flash

.crx

application/x-chrome-extension

.xpi

application/x-xpinstall

.torrent

application/x-bittorrent

.ics

text/calendar

.vcf

text/vcard

.epub

application/epub+zip

.mobi

application/x-mobipocket-ebook

O que é um Tipo MIME?

Tipos MIME (Extensões de Correio da Internet Multipropósito) são uma forma padrão de indicar a natureza e formato de documentos, arquivos ou byte streams. Navegadores e servidores usam tipos MIME para determinar como lidar com conteúdo. Por exemplo, receber image/jpeg diz ao navegador para exibir uma imagem. Tipos MIME descrevem que tipo de conteúdo um arquivo ou resposta HTTP contém, como text/html, application/json, image/png ou application/pdf. Eles afetam renderização do navegador, downloads, parsing de APIs, validação de upload, cache e comportamento de segurança. Extensão e MIME nem sempre coincidem, então verificá-los ajuda ao diagnosticar servidor, arquivos desconhecidos ou problemas de envio. Por segurança, tipos MIME não devem ser confiados cegamente; inspeção de conteúdo, regras de extensão e allowlist explícita devem trabalhar juntas.

Como Usar

Referência Rápida

  1. Use a caixa de pesquisa para encontrar extensões ou tipos MIME específicos
  2. Clique nas tags de categoria para filtrar por tipo de arquivo
  3. Clique nos botões 'Ext' ou 'MIME' para copiar o conteúdo correspondente
  4. Navegue pelas categorias para consulta rápida: documentos, imagens, áudio, vídeo, arquivos compactados, código, fontes, etc.

Observações de Consulta

  • Tipos MIME são convenções usadas por servidores, navegadores e aplicações; a extensão do arquivo por si só não comprova o conteúdo real.
  • Para uploads e verificações de segurança, valide tanto o tipo MIME declarado quanto a assinatura do arquivo sempre que possível.

Casos de uso

Consultar tipos MIME por extensãoPesquise extensões ou strings MIME em documentos, imagens, áudio, vídeo, arquivos compactados, código, fontes e outros tipos comuns de arquivo. Os resultados permanecem agrupados por categoria quando o filtro 'todos' está ativo, facilitando a navegação ampla em comparação com uma tabela plana única. A pesquisa de texto funciona tanto na extensão (png, webp, json) quanto no valor MIME (image/png, application/json), atendendo qualquer ponto de partida.
Copiar valores para upload e cabeçalhos de respostaCada cartão permite copiar a extensão ou o valor MIME, o que é prático ao configurar listas de aceitação de upload, cabeçalhos Content-Type, metadados de armazenamento, regras de CDN ou mapas de validação do backend. A referência está embutida na página, funcionando offline e em laptops internos sem acesso à internet ao registro da IANA. O botão de copiar grava o valor literal na área de transferência sem espaços extras ou aspas.
Verificar cobertura de categorias ao construir funcionalidades de arquivosOs filtros de categoria e a contagem de resultados ajudam equipes de produto e engenharia a decidir quais famílias de arquivos uma funcionalidade reconhece atualmente. É uma referência rápida para formatos comuns, não um registro completo de normas. Uma pequena lacuna nas seções de arquivo compactado ou fonte frequentemente aponta para uma funcionalidade que rejeita uploads silenciosamente.
Montar cabeçalhos Content-Type para respostas de API RESTCopie valores exatos como application/vnd.api+json ou application/x-ndjson em chamadas de response.setHeader(). Confirme sufixos incomuns com o filtro de categoria para que respostas JSON-LD, GeoJSON ou WebAssembly não sejam confundidas com texto simples. As convenções vendor-specific +json e +xml (RFC 6839) carregam informação significativa sobre a estrutura do payload, então um erro de digitação aqui geralmente quebra o parser do cliente.
Cobrir registros IANA, prefixos x- experimentais e content sniffingO registro da IANA é a fonte canônica para tipos MIME registrados, mas nem todo valor funcional está listado: entradas experimentais usam o prefixo x- (application/x-tar, application/x-rar-compressed) e nunca foram padronizadas, mesmo aparecendo nos arquivos mime.types do nginx e Apache. Para segurança, content sniffing (ler os bytes mágicos no início de um arquivo) é mais confiável do que confiar no cabeçalho Content-Type declarado, e navegadores modernos enviam X-Content-Type-Options: nosniff para desabilitar o fallback de sniffing legado. Use a tabela de consulta para encontrar um valor de cabeçalho e depois valide os bytes reais no servidor antes de servir o arquivo.

Princípio técnico

Tipos MIME (Multipurpose Internet Mail Extensions) são identificadores padronizados para formatos de dados, originalmente definidos no RFC 2045/RFC 2046 para anexos de e-mail e posteriormente adotados pelo HTTP (RFC 7231 §3.1.1.5) para negociação de conteúdo web. Um tipo MIME é estruturado como tipo/subtipo — o tipo declara a categoria ampla (text, image, audio, video, application, multipart, font, model) e o subtipo especifica o formato exato (por exemplo, text/html, image/png, application/json). Parâmetros opcionais seguem um ponto e vírgula (text/html; charset=utf-8). A Internet Assigned Numbers Authority (IANA) mantém o registro oficial de tipos MIME em iana.org/assignments/media-types. O registro segue o RFC 6838, que define um processo de revisão exigindo um documento de especificação, considerações de segurança e notas de interoperabilidade. Tipos não registrados podem usar o prefixo x- (por exemplo, application/x-tar) como convenção para formatos experimentais ou específicos de fabricantes, embora o RFC 6648 recomende evitar o prefixo x- em favor do registro adequado. No HTTP, o cabeçalho Content-Type informa ao cliente como interpretar o corpo da resposta. Um servidor que retorna Content-Type: image/svg+xml aciona o renderizador SVG do navegador; Content-Type: application/octet-stream aciona um prompt de download porque o navegador não consegue determinar o formato. O navegador também usa informações de tipo MIME para MIME sniffing — quando um servidor omite o Content-Type ou envia um tipo genérico, o navegador pode inspecionar os primeiros bytes da resposta (magic bytes) para adivinhar o formato real. Esse comportamento é controlado pelo cabeçalho X-Content-Type-Options: nosniff, que desabilita o sniffing e exige que o servidor declare o tipo correto. Para uploads de arquivos, o cabeçalho Accept informa ao servidor quais tipos MIME o cliente espera na resposta, enquanto o atributo accept do elemento input restringe o seletor de arquivos a tipos específicos (por exemplo, accept="image/png, image/jpeg"). No lado do servidor, arquivos enviados devem ser validados tanto pelo tipo MIME declarado quanto pela assinatura do arquivo (magic bytes), pois nenhum dos dois isoladamente é confiável — um arquivo chamado image.png com Content-Type: image/png pode conter código executável. A ferramenta serve como referência para consultar o tipo MIME canônico de uma determinada extensão de arquivo, cobrindo mais de 100 formatos comuns em oito categorias.

  • Estrutura RFC 2046: tipo/subtipo — o tipo indica a categoria ampla de conteúdo e o subtipo o formato exato; parâmetros opcionais seguem um ponto e vírgula (text/html; charset=utf-8) e são case-insensitive por especificação, embora minúsculas seja a convenção.
  • Registro IANA (RFC 6838): Novos tipos de mídia exigem um documento de especificação, seção de considerações de segurança e notas de interoperabilidade — o processo de revisão garante que os tipos sejam bem documentados e que conflitos sejam evitados antes de entrarem no registro.
  • Cabeçalho HTTP Content-Type: O servidor declara o tipo MIME do corpo da resposta; os navegadores o usam para selecionar o renderizador apropriado (parser HTML, decodificador de imagens, visualizador de PDF) ou acionar um download — um Content-Type incorreto é a causa mais comum de bugs de 'download em vez de exibição'.
  • MIME sniffing e X-Content-Type-Options: Quando o Content-Type está ausente ou é genérico, navegadores podem inspecionar magic bytes para adivinhar o formato — X-Content-Type-Options: nosniff desabilita esse comportamento e exige uma correspondência exata do Content-Type, o que é uma boa prática de segurança.
  • application/octet-stream: O tipo genérico de fallback binário — navegadores o tratam como um fluxo opaco e acionam um download, sendo a opção mais segura quando o servidor não consegue determinar o formato, mas impede a visualização no navegador de conteúdo que poderia ser exibido.
  • Validação de upload de arquivos: O atributo accept do input filtra o seletor de arquivos no lado do cliente, mas a validação no servidor deve verificar tanto o Content-Type declarado quanto os magic bytes do arquivo — uma incompatibilidade entre extensão, tipo MIME e assinatura do arquivo é um sinal de alerta para uploads maliciosos.
  • Tipos específicos de fabricantes e experimentais: A convenção do prefixo x- (application/x-tar, video/x-matroska) é anterior ao processo formal de registro — o RFC 6648 recomenda migrar esses tipos para tipos registrados na IANA sempre que possível, mas muitos permanecem em uso amplo.

Exemplos

Configuração mime.types do Nginx

types {
  text/html             html htm;
  image/jpeg            jpg jpeg;
  application/pdf       pdf;
  application/javascript js;
}

Nota: cada linha mapeia um tipo MIME para uma ou mais extensões de arquivo; o Nginx serve o tipo no cabeçalho Content-Type
IANA: https://www.iana.org/assignments/media-types/ mantém o registro oficial

Cabeçalho de resposta HTTP Content-Type

Content-Type: application/json; charset=utf-8

Nota: charset é opcional, mas recomendado para text/* e application/json; clientes o usam para decodificar o corpo corretamente
RFC: a seção 3.1.1.5 da RFC 7231 define a semântica do cabeçalho Content-Type
MDN: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type

Construtor Blob no navegador

const blob = new Blob([data], { type: 'application/pdf' });
const url  = URL.createObjectURL(blob);

Nota: o type se torna o Content-Type quando o blob é posteriormente baixado ou enviado; escolha um subtipo específico para evitar application/octet-stream
MDN: https://developer.mozilla.org/en-US/docs/Web/API/Blob/Blob documenta o parâmetro type

Tipos MIME comuns por categoria

Texto:       text/plain, text/html, text/css, text/javascript, text/markdown
Imagem:      image/jpeg, image/png, image/gif, image/webp, image/svg+xml
Áudio:       audio/mpeg, audio/wav, audio/ogg, audio/aac
Vídeo:       video/mp4, video/webm, video/ogg
Application: application/json, application/pdf, application/xml, application/zip

A IANA categoriza esses tipos no registro Media Types sob nomes de tipo de nível superior

Perguntas frequentes

O que é um tipo MIME e por que ele importa?

Um tipo MIME (Multipurpose Internet Mail Extensions, também chamado de tipo de mídia) é um rótulo curto como text/html, image/png ou application/json que diz ao software receptor como interpretar um fluxo de bytes. Navegadores, clientes de e-mail, uploaders de arquivos e APIs usam isso para decidir se renderizam, baixam, analisam ou rejeitam o conteúdo.

Qual a diferença entre tipo MIME e extensão de arquivo?

A extensão faz parte do nome do arquivo e é puramente uma convenção de nomenclatura. O tipo MIME é enviado pela rede no cabeçalho Content-Type. Geralmente são consistentes (.png ↔ image/png), mas um servidor pode servir qualquer extensão com qualquer tipo MIME, e os navegadores confiam muito mais no cabeçalho do que na extensão. Manter os dois alinhados é boa prática; depender da extensão para segurança é um bug.

O que significa application/octet-stream?

É o tipo MIME genérico para 'dados binários arbitrários'. Navegadores que recebem isso oferecem download em vez de tentar renderizar o conteúdo. Servidores recorrem a ele quando não conseguem identificar o formato, o que geralmente significa um mapeamento MIME ausente ou mal configurado. Substitua pelo tipo específico correto sempre que possível.

Posso confiar no Content-Type para validar arquivos enviados?

Não por si só. Qualquer um pode declarar image/png enquanto envia um executável. Sempre inspecione os bytes reais (números mágicos, cabeçalho PNG 89 50 4E 47, cabeçalho PDF %PDF-, cabeçalho ZIP PK), confira a extensão do arquivo, aplique uma allowlist no servidor e limite o tamanho do arquivo. O MIME derivado pelo navegador em uploads é uma dica, não uma prova.

Por que um download salva com o nome ou extensão errados?

Os navegadores escolhem o nome do arquivo a partir do cabeçalho Content-Disposition, do caminho da URL e do tipo MIME, nessa ordem. Se o servidor retornar text/html para um download de PDF, o navegador pode salvar com extensão .html. Defina Content-Disposition: attachment; filename="name.pdf" e o tipo MIME application/pdf correto para evitar surpresas.

Como encontro o tipo MIME correto para um formato personalizado ou raro?

Verifique primeiro o registro de tipos de mídia da IANA (iana.org/assignments/media-types). Para formatos não registrados ou específicos de fornecedor, a convenção é application/vnd.* ou application/x-* (por exemplo, application/vnd.api+json, application/x-7z-compressed). Use a correspondência padrão mais próxima antes de inventar uma nova.

Por que .json e .js mostram tipos MIME diferentes?

JSON é dado e usa application/json. JavaScript é código executável servido como text/javascript ou application/javascript (a RFC 9239 tornou text/javascript o recomendado). Confundi-los importa: uma tag script se recusa a executar application/json, e alguns servidores rejeitam application/javascript quando aceitam apenas a variante text.