Formatador XML
Embeleze, minifique e valide XML no navegador — nenhum dado enviado. Reindenta XML bagunçado e reporta erros de boa formação com linha/coluna. Grátis, privado, sem cadastro.
O que é um Formatador XML e Por que Usar Um?
XML (Extensible Markup Language) é um formato baseado em texto para dados estruturados, usado em toda parte, desde serviços web e arquivos de configuração até feeds RSS, APIs SOAP, documentos de escritório (DOCX, XLSX), gráficos SVG e arquivos de layout Android. Ao contrário do JSON, o XML suporta comentários, namespaces, conteúdo misto (texto e elementos intercalados) e declarações de tipo de documento — tornando-o o formato de escolha para integração empresarial, troca de documentos e em qualquer lugar onde dados estruturados precisam coexistir com marcação legível por humanos.
O XML no mundo real frequentemente está mal indentado ou completamente minificado — as respostas de API chegam em uma única linha, os arquivos de configuração acumulam indentação inconsistente e o XML gerado por serializadores não adiciona espaços em branco. Um formatador XML pega essa entrada bagunçada e a reindenta em uma estrutura limpa e hierárquica onde cada nível de aninhamento é visualmente claro. Isso é essencial para revisão de código, depuração, documentação e compreensão de esquemas XML desconhecidos.
**O que esta ferramenta faz diferente de um editor de texto simples:**
**1. Validação de boa formação com localização precisa de erros.** O formatador usa o DOMParser do navegador (o mesmo mecanismo que analisa HTML e SVG) para analisar o XML. Se o documento não for bem formado — tags incompatíveis, elementos não fechados, caracteres não escapados ou múltiplos elementos raiz — o parser reporta o número exato de linha e coluna onde falhou. Isso é muito mais rápido do que ler XML bruto procurando onde uma tag foi acidentalmente deixada aberta.
**2. Formatação sem perdas.** O formatador preserva comentários, instruções de processamento, seções CDATA, declarações de namespace, ordem de atributos e todo o conteúdo de texto exatamente. Ele apenas ajusta o espaço em branco entre as tags de elemento. Você pode formatar com segurança qualquer XML que lhe importe — nada significativo mudará.
**3. Minificação para uso em produção.** O minificador remove todos os espaços em branco não significativos entre elementos, produzindo a menor representação XML válida. Esta é a etapa de pré-processamento correta antes de armazenar XML em uma coluna de banco de dados, inseri-lo como uma string em JSON ou transmiti-lo por um canal onde bytes contam.
**4. Privacidade 100% baseada no navegador.** XML de saúde (HL7, FHIR), dados financeiros, payloads SOAP com credenciais e arquivos de configuração internos são payloads XML comuns que contêm dados sensíveis. Esta ferramenta nunca faz upload de nada — todo o processamento é executado no mecanismo JavaScript do seu navegador. Veja nossas ferramentas complementares se precisar converter em vez de formatar: Conversor XML para JSON para converter XML para JSON, e Conversor JSON para XML para a direção inversa.
<!-- Minified XML input -->
<?xml version="1.0" encoding="UTF-8"?><catalog><product id="p01"><name>Wireless Headphones</name><price currency="USD">79.99</price></product></catalog>
<!-- After formatting with 2-space indent -->
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<product id="p01">
<name>Wireless Headphones</name>
<price currency="USD">79.99</price>
</product>
</catalog> Recursos Principais
Embelezar com Indentação de 2 ou 4 Espaços
Reindenta o XML em uma hierarquia limpa e legível. Escolha a indentação de 2 espaços (mais comum para serviços web, RSS e arquivos de configuração) ou de 4 espaços (comum em esquemas XML corporativos) antes de formatar.
Minificar — Remover Espaços em Branco Não Significativos
Remove todos os espaços em branco entre as tags de elemento sem tocar no conteúdo de texto, produzindo o menor XML válido. Ideal para armazenamento, transmissão ou incorporação como string dentro de JSON ou outros formatos.
Validação de Boa Formação com Erros de Linha/Coluna
Usa o DOMParser nativo do navegador para validar a estrutura XML. Reporta o número exato de linha e coluna do primeiro erro de boa formação — tags incompatíveis, elementos não fechados, caracteres não escapados — para depuração rápida.
Sem Perdas: Preserva Comentários, Namespaces e Atributos
Comentários, instruções de processamento, seções CDATA, declarações de namespace e ordem de atributos são todos preservados exatamente. Apenas espaços em branco não significativos entre tags são modificados — seu conteúdo nunca é alterado.
100% Baseado no Navegador — Sem Upload, Sem Servidor
Todo o processamento é executado localmente no seu navegador. Payloads XML contendo credenciais, dados de saúde, registros financeiros ou configurações internas nunca são transmitidos para nenhum servidor e nunca são registrados.
Funciona com SOAP, RSS, SVG, XHTML e XML Android
Processa qualquer aplicação XML bem formada: envelopes SOAP com cabeçalhos WS-Security, feeds RSS/Atom, arquivos SVG, documentos XHTML, XMLs de layout Android, POMs Maven e arquivos de build Maven/Ant.
Exemplos
XML Bagunçado / Minificado
<?xml version="1.0" encoding="UTF-8"?><catalog><product id="p01" category="electronics"><name>Wireless Headphones</name><price currency="USD">79.99</price><stock>142</stock><tags><tag>audio</tag><tag>bluetooth</tag></tags></product><product id="p02" category="books"><name>Learning XML</name><price currency="USD">29.99</price><stock>55</stock></product></catalog>
Um catálogo XML de produtos compacto em uma única linha. Clique em Formatar para indentá-lo em uma árvore legível com indentação de 2 espaços. A hierarquia de elementos, os atributos e o conteúdo de texto são todos preservados exatamente — a formatação é puramente cosmética.
Trecho de Feed RSS
<rss version="2.0"><channel><title>Go Tools Blog</title><link>https://go-tools.org/blog</link><description>Developer tools, tips and tutorials</description><item><title>Understanding XML Namespaces</title><link>https://go-tools.org/blog/xml-namespaces-guide</link><pubDate>Thu, 29 May 2026 00:00:00 GMT</pubDate><description>A deep dive into XML namespace declarations, prefixes, and scope rules with practical examples.</description></item><item><title>XML vs JSON: When to Use Each</title><link>https://go-tools.org/blog/xml-vs-json</link><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate></item></channel></rss>
Um feed RSS 2.0 com dois itens comprimido em uma linha. Após a formatação, os metadados do canal e cada elemento de item aparecem claramente indentados, facilitando a inspeção da estrutura do feed, a adição de novos itens ou a comparação com os requisitos de um validador de feed.
Envelope SOAP
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:UsernameToken><wsse:Username>api-client</wsse:Username><wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-ext-1.0.xsd#PasswordText">s3cr3t</wsse:Password></wsse:UsernameToken></wsse:Security></soap:Header><soap:Body><GetOrderRequest xmlns="http://example.com/orders"><OrderId>ORD-20260529-001</OrderId><IncludeLineItems>true</IncludeLineItems></GetOrderRequest></soap:Body></soap:Envelope>
Um envelope SOAP 1.1 com cabeçalho WS-Security e um corpo GetOrder, usando três prefixos de namespace (soap:, wsse: e padrão). A formatação torna imediatamente clara a separação cabeçalho/corpo e as declarações de namespace — essencial para depurar integrações SOAP e ler payloads gerados por WSDL.
Como Usar
- 1
Cole seu XML
Insira ou cole seu XML no campo de entrada acima. Você também pode clicar em 'Carregar exemplo' para experimentar uma amostra (um XML de catálogo de produtos minificado que formata muito bem).
- 2
Escolha uma Ação
Clique em Formatar para embelezar com indentação, Minificar para remover espaços em branco ou Validar para verificar a boa formação. Selecione 2 ou 4 espaços para o tamanho de indentação antes de formatar.
- 3
Copie a Saída
O XML processado aparece no painel de saída. Clique em Copiar para copiá-lo para a área de transferência. Se o Validar encontrou erros, o banner de erro mostra o número exato de linha e coluna.
Erros Comuns de XML
Tags Incompatíveis
Os nomes de tags XML diferenciam maiúsculas de minúsculas e devem corresponder exatamente.
<products>
<Item>
<name>Widget</name>
</item>
</products> <products>
<item>
<name>Widget</name>
</item>
</products> Ampersand ou Sinal de Menor Não Escapados
Os caracteres & e < são reservados em XML e devem ser escapados fora de seções CDATA. Um & simples causa um erro de parser mesmo em valores de atributo. Use & para & e < para <. O sinal de maior > deve ser escapado como > no conteúdo de texto, embora os parsers sejam mais tolerantes com ele.
<query>price > 10 & stock > 0</query>
<query>price > 10 & stock > 0</query>
Atributos sem Aspas ou com Aspas Inadequadas
Todos os valores de atributo XML devem estar entre aspas simples ou duplas. Valores de atributo sem aspas são válidos em HTML5, mas são um erro de boa formação em XML. Além disso, um valor contendo aspas duplas deve usar aspas simples como delimitadores (ou escapar as aspas como ").
<product id=p01 label="It's a "widget"">
<product id="p01" label="It's a "widget"">
Múltiplos Elementos Raiz
Um documento XML deve ter exatamente um elemento raiz que contenha todos os outros elementos. Um erro comum ao juntar fragmentos XML é acabar com dois ou mais elementos de nível superior lado a lado, o que não é XML válido (embora seja comum em HTML). Envolva todos os elementos irmãos em um único contêiner raiz.
<user><name>Alice</name></user> <user><name>Bob</name></user>
<users> <user><name>Alice</name></user> <user><name>Bob</name></user> </users>
Incompatibilidade de Codificação na Declaração XML
Se seu arquivo XML for salvo em UTF-16 ou outra codificação não-UTF-8, mas a declaração disser encoding="UTF-8" (ou estiver ausente, o que usa UTF-8 por padrão), alguns parsers o rejeitarão ou produzirão lixo. Ao colar em uma ferramenta baseada no navegador, o navegador lida com a codificação automaticamente. Para arquivos em disco, certifique-se de que o atributo de codificação corresponde à codificação real do arquivo.
<?xml version="1.0" encoding="UTF-8"?> <!-- File is actually saved as UTF-16 -->
<?xml version="1.0" encoding="UTF-16"?> <!-- File saved as UTF-16, declaration matches -->
Seção CDATA Não Fechada Corretamente
Uma seção CDATA começa com . Se a sequência de fechamento ]]> estiver faltando ou incorreta, o parser trata tudo que vem depois como parte da seção CDATA até encontrar outro ]]> ou o fim do documento. Isso geralmente se manifesta como erros de 'fim inesperado do documento'.
<script><![CDATA[
if (a < b && b > c) { return true; }
<!-- ]]> is missing --> <script><![CDATA[
if (a < b && b > c) { return true; }
]]></script> Casos de Uso Comuns
- Depurando Payloads SOAP / Serviços Web
- Respostas SOAP de APIs corporativas e serviços web legados chegam como strings XML de uma única linha. Cole o payload bruto no formatador para ver instantaneamente a estrutura do envelope, cabeçalhos e corpo — facilitando encontrar o campo necessário ou identificar uma incompatibilidade de namespace. Veja também: Conversor XML para JSON se precisar processar o payload em JavaScript.
- Validando Arquivos de Configuração e Descritores de Implantação
- Arquivos POM do Maven, contextos de aplicação Spring XML, server.xml do Tomcat, arquivos de Manifesto Android e muitos outros arquivos de configuração Java/corporativos são XML. Execute-os pelo Validar antes de fazer commit para detectar tags incompatíveis ou problemas de codificação que de outra forma só apareceriam no momento da build ou implantação.
- Formatando Saída de Feeds RSS e Atom
- Feeds RSS 2.0 e Atom 1.0 são XML. Ao desenvolver um gerador de feed ou depurar problemas de compatibilidade de leitor de feed, formate o XML bruto do feed para inspecionar os metadados do canal, a estrutura dos itens e as declarações de namespace necessárias lado a lado.
- Lendo e Editando Arquivos SVG
- Arquivos SVG exportados do Figma, Illustrator ou Sketch são XML válido, mas frequentemente são minificados ou contêm indentação excessiva do exportador. Formate o SVG para obter uma árvore de elementos limpa e navegável antes de fazer edições manuais em caminhos, grupos ou atributos de estilo.
- Preparando XML para Armazenamento ou Transmissão
- Ao armazenar XML em uma coluna de banco de dados, enviá-lo como campo de string JSON em uma requisição de API ou inseri-lo em uma fila de mensagens, use Minificar primeiro para remover espaços em branco desnecessários. Isso reduz o tamanho do payload e evita problemas com parsers JSON que podem engasgar com caracteres de controle não escapados em grandes strings XML indentadas.
- Convertendo XML para JSON
- Se precisar converter seu XML formatado para JSON para uso em uma aplicação JavaScript ou API REST, use nosso Conversor XML para JSON. Para o inverso — construindo XML a partir de uma estrutura JSON — use o Conversor JSON para XML.
Detalhes Técnicos
- DOMParser do Navegador para Análise XML
- A análise XML usa o DOMParser nativo do navegador com o tipo MIME 'text/xml'. Este é o mesmo mecanismo que alimenta a renderização de SVG e XHTML no navegador — ele é totalmente compatível com XML 1.0 e reporta erros de boa formação com informações de linha e coluna. Quando o documento não é bem formado, o DOMParser retorna um documento parsererror contendo a mensagem de erro e a posição, que esta ferramenta extrai e exibe.
- Serialização de Árvore DOM para Formatação
- A formatação funciona analisando o XML em uma árvore DOM e então percorrendo a árvore recursivamente para produzir saída indentada. Essa abordagem preserva a estrutura semântica do documento: aninhamento de elementos, conteúdo de texto, atributos, seções CDATA, instruções de processamento e comentários são todos serializados de volta exatamente como analisados. Apenas nós de texto somente com espaços em branco entre elementos são descartados — nós de texto que contêm caracteres não espaços em branco são sempre preservados.
- Minificação via Remoção de Nós de Texto Somente com Espaços em Branco
- A minificação percorre a mesma árvore DOM e remove nós de texto cujo conteúdo é inteiramente espaço em branco (espaços, tabs, quebras de linha). Nós de texto com conteúdo misto ou não espaçado — os dados reais entre as tags — nunca são removidos. Atributos e seus valores são serializados sem espaços em branco adicionados. O resultado é a representação XML bem formada mais compacta do documento original.
- 100% Baseado no Navegador — Sem Upload, Sem Servidor
- Todo o processamento é executado no ambiente de execução JavaScript do seu navegador. Nenhum dado é transmitido para nenhum servidor em nenhum momento. Isso é especialmente importante para payloads XML que frequentemente contêm conteúdo sensível: tokens SOAP WS-Security, dados de pacientes HL7, configuração interna de serviço e formatos de mensagens financeiras (FIX, SWIFT ISO 20022). A ferramenta é segura para uso com qualquer XML que você não gostaria de colar em um serviço público.
Melhores Práticas
- Valide Antes de Formatar, Formate Antes de Fazer Commit
- Valide seu XML primeiro para confirmar que está bem formado antes de reformatá-lo — o formatador produzirá silenciosamente uma saída incorreta se a entrada não for XML válido. Uma vez validado, formate e revise a saída indentada antes de fazer commit de arquivos de configuração, templates de feed ou definições WSDL no controle de versão.
- Use Indentação de 2 Espaços para Formatos Web, 4 Espaços para XML Corporativo
- A indentação de dois espaços é a convenção para feeds RSS/Atom, SVG, XHTML, XML Android e a maioria dos XML voltados para a web. A indentação de quatro espaços é comum em ambientes corporativos Java (POM Maven, arquivos de contexto Spring, descritores de implantação JBoss). Corresponda à convenção dos seus arquivos existentes e toolchain.
- Minifique XML Antes de Incorporar em JSON
- Se precisar incorporar uma string XML como valor de campo JSON, sempre minifique primeiro. O XML indentado contém quebras de linha e múltiplos espaços que devem ser escapados em JSON (\n, múltiplos \u0020), inflando dramaticamente o tamanho do payload. O XML minificado também é muito menos propenso a acionar limites de comprimento de linha em proxies intermediários ou sistemas de log.
- Escape Caracteres Especiais no Conteúdo de Texto, Use CDATA com Moderação
- Para valores de texto curtos contendo & ou <, use referências de entidade (&, <) — elas são mais portáteis do que seções CDATA e funcionam também em valores de atributo. Reserve seções CDATA () para incorporar grandes blocos de código, consultas SQL ou fragmentos HTML onde escapar cada caractere especial tornaria o conteúdo ilegível.
- Declare Namespaces o Mais Cedo Possível
- Declare namespaces XML (xmlns:prefixo="URI") no elemento raiz ou no elemento de nível mais alto que usa o prefixo. Declarar namespaces profundamente em uma árvore de documento torna o XML mais difícil de ler e pode causar problemas com parsers XML baseados em streaming (SAX, StAX) que processam namespaces incrementalmente. O exemplo de Envelope SOAP acima demonstra o padrão recomendado: todas as declarações de namespace no elemento Envelope raiz.
Perguntas Frequentes
Meus dados XML são enviados a um servidor ao usar esta ferramenta?
O que o botão Validar verifica?
A validação verifica contra um Esquema XML (XSD) ou DTD?
Qual é a diferença entre Formatar (Embelezar) e Minificar?
A formatação preserva comentários e atributos XML?
Como formatar XML com indentação de 4 espaços em vez de 2?
Qual versão e codificação de XML esta ferramenta suporta?
O que causa um erro de 'boa formação' e como corrigi-lo?
Posso usar esta ferramenta para formatar arquivos XHTML ou SVG?
Como esta ferramenta lida com namespaces XML?
Existe um limite de tamanho para a entrada XML?
Como converter XML para JSON ou JSON para XML?
Ferramentas relacionadas
Ver todas as ferramentas →Decodificador e Codificador Base64
Codificação e Formatação
Decodifique e codifique Base64 online gratuitamente. Conversão em tempo real com suporte completo a UTF-8 e emoji. 100% privado — executa no seu navegador. Sem necessidade de cadastro.
Conversor CSV para JSON
Codificação e Formatação
Converta CSV para JSON no navegador. RFC 4180, inferência de tipos, cabeçalho, seguro para inteiros grandes. 100% privado, sem upload.
JSON Diff (Comparar)
Codificação e Formatação
Compare dois arquivos JSON instantaneamente no navegador. Destaque lado a lado, saída JSON Patch (RFC 6902), ignore campos ruidosos como timestamps e IDs. 100% privado, sem upload.
Formatador e Validador JSON
Codificação e Formatação
Formate, valide e embeleze JSON instantaneamente no seu navegador. Ferramenta online gratuita com validação de sintaxe, detecção de erros, minificação e cópia com um clique. 100% privado — seus dados nunca saem do seu dispositivo.
Validador JSON Schema
Codificação e Formatação
Valide JSON contra qualquer JSON Schema instantaneamente no navegador. Suporta Draft 2020-12, 2019-09 e Draft-07 com mensagens de erro com caminho preciso. 100% privado — sem upload, sem conta, gratuito.
Conversor JSON para CSV
Codificação e Formatação
Converta JSON para CSV no navegador. Presets RFC 4180, Excel-EU, TSV, Pipe. Achatar aninhados ou stringify. 100% privado, sem upload.