Formatador e minificador XML
Cole XML para formatá-lo, embelezá-lo ou minificá-lo instantaneamente.
Como usar
- Cole seu XML na área de entrada.
- Clique em Formatar para embelezar ou Minificar para comprimir.
- Copie ou baixe o resultado.
Perguntas frequentes
O que acontece se meu XML contém erros ?
A ferramenta valida seu XML usando o DOMParser integrado ao navegador. Os erros de sintaxe são exibidos em uma caixa vermelha acima da saída.
Ele suporta seções CDATA, comentários e instruções de processamento ?
Sim. O formatador preserva todos os tipos de nós XML, incluindo seções CDATA, comentários e instruções de processamento.
Há limite de tamanho ?
Não há limite rígido · depende da memória do seu navegador. Arquivos XML de vários MB costumam ser formatados instantaneamente.
Um tour prático pelo XML
O XML 1.0 tornou-se uma Recomendação do W3C em 10 de fevereiro de 1998, editado por Tim Bray, Jean Paoli e C. M. Sperberg-McQueen, com um grupo de trabalho presidido por Jon Bosak, da Sun. A frase de lançamento de Tim Bray capturou a intenção do design: «O XML é extensível, internacionalizado, robusto, simples e feito para a Web.» A versão canônica atual é a Quinta Edição, publicada em 26 de novembro de 2008, editada por Bray, Paoli, Sperberg-McQueen, Eve Maler e François Yergeau. O XML descende diretamente do SGML (ISO 8879:1986), um formato de documento muito maior e muito mais difícil de implementar, do qual o XML removeu a maioria das partes raramente usadas, mantendo intacto o modelo de documento.
Onde o XML ainda vive em 2026
O JSON dominou as cargas de APIs REST por mais de uma década, mas o XML permanece entrincheirado em qualquer lugar onde o rigor de schema, a semântica de documentos ou os padrões estabelecidos o fixam. Saber onde você vai encontrá-lo num dado dia é metade do valor de um bom formatador:
- Formatos de documentos de escritório: os
.docx/.xlsx/.pptxda Microsoft são arquivos zip cheios de partes XML, padronizados como ECMA-376 e ISO/IEC 29500. Os.odt/.ods/.odpdo OpenDocument (ISO/IEC 26300) seguem o mesmo padrão. Os e-books EPUB também são empacotados em XML. - Vocabulários da web: SVG (gráficos vetoriais), MathML (notação matemática), feeds Atom, RSS 2.0 e o protocolo
sitemap.xmlque o Google e o Bing analisam para agendar o rastreamento. - SOAP e mensageria corporativa: back-ends de bancos, telecomunicações, seguros e governo ainda expõem endpoints SOAP, muitas vezes atrás de uma fachada REST. Os padrões do setor sobre o XML incluem o FpML para derivativos, o XBRL para declarações à SEC, o ACORD para seguros e o ISO 20022 para mensageria de pagamentos.
- Arquivos de build e de configuração: o
pom.xmldo Maven, beans legados do Spring, todo recurso do Android (AndroidManifest.xml,res/values/strings.xml,res/layout/*.xml) e oInfo.plistda Apple na sua variante XML. - Intercâmbio de domínios verticais: KML para o Google Earth, GPX para traços de GPS, MusicXML para partituras (4.0 publicado em 2021), XLIFF para localização (2.1 padronizado como ISO 21720 em julho de 2024), HL7 v3 / CDA para documentos clínicos.
Bem formado vs. válido: não são a mesma coisa
O XML usa dois níveis de conformidade diferentes, e eles são fáceis de confundir:
- Bem formado significa que o documento obedece à gramática do XML: exatamente um elemento raiz, todas as tags balanceadas e aninhadas corretamente, valores de atributo entre aspas, referências de entidade fechadas com um ponto e vírgula, nenhum
<ou&sem escape no conteúdo de texto. - Válido significa que um documento bem formado, além disso, está em conformidade com um schema DTD, XSD (XML Schema 1.1), RELAX NG ou Schematron declarado: os elementos certos nos lugares certos, com valores de atributo dos tipos certos, nas cardinalidades certas.
Este formatador verifica apenas se está bem formado. O DOMParser embutido do navegador relata o primeiro erro de análise que encontra via um elemento parsererror, que a ferramenta exibe na caixa de erro vermelha. A validação contra um schema precisa de uma ferramenta diferente (Saxon para XSD, libxml2 com xmllint --schema, o serviço validador do W3C etc.).
As cinco referências de entidade predefinidas
Conforme o W3C XML 1.0 §4.6, «documentos bem formados não precisam declarar nenhuma das seguintes entidades»: amp, lt, gt, apos, quot. O ponto e vírgula final é obrigatório: o XML, ao contrário de alguns usos do HTML, nunca vai aceitar & sem um ; de fechamento.
| Entidade | Caractere | Onde é obrigatória |
|---|---|---|
< | < | Sempre no conteúdo do elemento (caso contrário, iniciaria uma tag) |
& | & | Sempre (caso contrário, iniciaria uma referência de entidade) |
> | > | Obrigatória dentro da sequência ]]> no conteúdo; recomendada em outros lugares por simetria |
' | ' | Dentro de valores de atributo delimitados por aspas simples |
" | " | Dentro de valores de atributo delimitados por aspas duplas |
Seções CDATA, comentários e instruções de processamento
Três recursos sintáticos especiais que qualquer pessoa que formata XML acaba encontrando:
- Seções CDATA: blocos
<![CDATA[ … ]]>permitem embutir texto arbitrário sem escapar<e&. A única sequência que você não pode colocar dentro de um CDATA é o delimitador de fechamento literal]]>. Útil para embutir amostras de código, padrões de regex ou fragmentos de HTML dentro da documentação XML. - Comentários:
<!-- … -->. A string--é ilegal dentro de um comentário. - Instruções de processamento:
<?target …?>. A própria declaração XML tecnicamente não é uma PI, mas a maioria das ferramentas a trata da mesma forma:<?xml version="1.0" encoding="UTF-8"?>é a primeira linha recomendada.
Namespaces
O mecanismo de namespaces do XML é o que permite que vários vocabulários coexistam em um único documento: Atom mais uma extensão personalizada, SOAP mais cabeçalhos WS-Security, a parte principal de um documento OOXML referenciando relacionamentos, desenhos e imagens de namespaces irmãos. A sintaxe é xmlns="…" para um namespace padrão e xmlns:prefix="…" para um com prefixo, e o formatador preserva ambos inalterados. As URIs de namespace são identificadores, não URLs: elas não precisam resolver para nada.
Duas armadilhas de segurança famosas do XML
O ataque Billion Laughs. Um pequeno arquivo XML com entidades que se expandem recursivamente pode inchar até bilhões de caracteres na memória do analisador:
<!ENTITY lol "lol">
<!ENTITY lol2 "&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;">
<!ENTITY lol3 "&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;">
<!-- … nine more layers later, the document expands to 10^9 lols -->
Os analisadores modernos limitam a expansão de entidades para derrotar isso. Os ataques XXE (XML External Entity) exploram um analisador que resolve entidades externas para ler arquivos locais (<!ENTITY xxe SYSTEM "file:///etc/passwd">) ou disparar requisições SSRF a partir do servidor. A folha de dicas de prevenção de XXE da OWASP é inequívoca: «a forma mais segura de prevenir XXE é sempre desabilitar completamente as DTDs (entidades externas).» É exatamente isso que o DOMParser do navegador faz: ele ignora completamente as declarações de entidade DOCTYPE, e é por isso que este formatador do lado do cliente também é seguro para receber XML não confiável.
Formatação bonita vs. minificação
- Formatar / Embelezar indenta os elementos aninhados, coloca as tags de abertura e fechamento em suas próprias linhas e produz um resultado muito mais fácil de ler, mas tipicamente 30-50% maior do que o equivalente minificado. Use isto ao depurar, revisar diffs ou aprender um schema desconhecido.
- Minificar remove todos os espaços em branco entre os elementos enquanto preserva os espaços em branco dentro do conteúdo de texto (o XML define o espaço em branco dentro do conteúdo de elemento como significativo por padrão, a menos que seja sobrescrito por
xml:space="default"). Use isto para cargas de produção e para qualquer caso em que os bytes na rede importem.
O atributo xml:space é a sua válvula de escape quando o espaço em branco realmente importa, código-fonte literal embutido na documentação, por exemplo. Defina xml:space="preserve" em um elemento ancestral e um processador conforme manterá cada espaço e quebra de linha nos descendentes byte a byte.
Erros XML comuns que um formatador detecta
&sem escape no conteúdo de texto. Um e-comercial solto é sempre inválido; use&.- Tags incompatíveis ou não fechadas. O erro de análise mais comum. Cada
<tag>precisa de um</tag>correspondente (ou use a forma autofechada<tag/>). - Múltiplos elementos raiz. Um documento XML deve ter exatamente um elemento mais externo. Se você tem dois irmãos no nível superior, envolva-os em um pai.
- Incompatibilidade de codificação. Uma declaração
<?xml version="1.0" encoding="UTF-8"?>deve corresponder à codificação real de bytes do arquivo. Um BOM de UTF-16 com uma declaração de UTF-8 é a versão clássica desse bug. - Caracteres reservados em valores de atributo.
<tag attr="a<b">é inválido mesmo que o<pareça inofensivo dentro das aspas. - BOM perdido na frente da declaração XML. Alguns editores de texto inserem silenciosamente um BOM de UTF-8 que confunde analisadores rígidos.
- Finais de linha misturados dentro de regiões
xml:space="preserve". CR / LF / CRLF inconsistentes podem produzir artefatos visíveis de espaço em branco ao fazer a ida e volta entre plataformas diferentes.
Mais perguntas frequentes
Por que a formatação do meu XML não produz saída?
Na maioria das vezes, porque a entrada não está bem formada. A caixa de erro acima da saída mostra o primeiro erro de análise que o DOMParser do navegador encontra, geralmente uma tag faltando ou incompatível, um & sem escape ou um elemento raiz faltando. Corrija o erro e execute de novo.
Meu XML é enviado para um servidor?
Não. A formatação e a minificação rodam ambas dentro do DOMParser embutido do navegador e de um pequeno serializador em JavaScript. O seu XML nunca sai da página, o que é importante para cargas SOAP, arquivos de configuração e qualquer outra coisa que possa conter credenciais, URLs internas ou dados sensíveis de clientes.
A ferramenta pode validar contra um schema XSD ou DTD?
Não. A validação de schema exige carregar o arquivo de schema e resolver suas referências, o que é um problema diferente da verificação de boa formação que o navegador faz. Para validação de XSD, use o Saxon ou o xmllint --schema na linha de comando, ou o serviço validador de XML Schema do W3C.
O XML ainda é relevante em 2026, ou eu deveria simplesmente usar JSON?
Depende do que você está fazendo. Para novas APIs REST, o JSON é quase sempre a escolha certa. Mas o XML ainda é o padrão para documentos de escritório (.docx, .xlsx), mensageria corporativa (SOAP, padrões financeiros), recursos do Android, EPUB, RSS / Atom, SVG e a maioria dos intercâmbios de setores regulados. Saber ler, formatar e validar XML ainda é uma habilidade básica; só não é a primeira ferramenta de todo dia do jeito que o JSON é.
O que significa «preservar todos os tipos de nó» para o formatador?
As seções CDATA, os comentários e as instruções de processamento são todos mantidos exatamente como aparecem na entrada: o formatador só muda o espaço em branco entre os elementos. Então um bloco <![CDATA[ if (a < b) { … } ]]> faz a ida e volta byte a byte mesmo que seu conteúdo contenha caracteres < que de outra forma precisariam de escape.