Formate XML online
Cole uma linha longa de XML, como um catálogo de livros, e receba uma árvore com dois espaços de recuo por nível. O documento inteiro é verificado antes, então uma tag mal fechada é apontada em vez de sair formatada pela metade. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Um XML legível facilita a análise de configurações, feeds, cargas de integração e formatos de documentos. Este formatador interpreta o XML que você fornece, verifica se a estrutura está bem formada e o serializa novamente com recuo previsível. Elementos aninhados ficam claros, atributos usam aspas consistentes e espaços de apresentação sem significado são removidos. Se houver tags incompatíveis, uma entidade inválida, um atributo malformado ou mais de um elemento raiz, a operação retorna um erro em vez de produzir uma saída que apenas parece correta.
Transforme XML compactado em uma estrutura fácil de revisar
Embora máquinas possam consumir essa representação, é difícil perceber onde um registro termina e outro começa. Cole o conteúdo no formatador e cada nível estrutural receberá recuo consistente, facilitando a distinção entre pais, filhos, irmãos, atributos, comentários e instruções de processamento. Você pode informar uma sequência opcional de recuo e escolher espaços ou tabulações conforme a convenção do repositório.
Elementos que contêm texto permanecem compactos para evitar a inserção de caracteres de apresentação em conteúdo misto, enquanto nós estruturais são distribuídos em linhas. A formatação não renomeia elementos, reordena atributos, cria namespaces nem corrige silenciosamente marcação quebrada.
A validação termina antes que o resultado seja devolvido
Um recuo bonito só é útil quando o documento é válido. Por isso, o analisador verifica toda a entrada antes de retornar o XML formatado. Cada elemento de abertura precisa ter o fechamento correto, um nome de atributo pode aparecer apenas uma vez em cada tag, valores entre aspas devem terminar corretamente e o documento deve ter exatamente um elemento raiz.
Comentários, seções CDATA, instruções de processamento, referências numéricas de caracteres, as cinco entidades XML predefinidas e uma declaração de tipo de documento são reconhecidos e conferidos nas posições permitidas. Entidades nomeadas desconhecidas são recusadas, pois resolvê-las sem declaração seria ambíguo e potencialmente inseguro. Os erros apresentam uma causa objetiva, como uma tag de fechamento incompatível ou um comentário incompleto.
Esta capacidade não busca esquemas, recursos DTD nem definições de namespaces na rede. Ela verifica se o XML está bem formado, mas não afirma que o documento obedece a um vocabulário de negócio ou XSD específico.
Para conferir na hora ou repetir sempre igual
Para uma carga ocasional, o executor do navegador permite formatar XML rapidamente sem instalar ferramentas. Como a implementação não usa rede, valores aleatórios, relógio ou inferência de modelos, a mesma entrada com o mesmo recuo sempre produz a mesma saída. Essa estabilidade reduz ruído no controle de versão.
Considere o resultado uma apresentação normalizada da estrutura, não XML canônico para assinaturas criptográficas. Se você precisar preservar bytes, validar esquemas, expandir entidades externas, assinar ou aplicar uma norma especializada de canonicalização, use uma biblioteca XML auditada para esse fluxo antes de verificar ou assinar.
Casos de uso
Rejeite importações malformadas
Verifique o XML recebido no limite do pipeline e retorne um erro útil quando tags, entidades ou atributos forem inválidos.
Perguntas frequentes
A ferramenta corrige XML malformado?
Não. Ela retorna um erro quando o documento não está bem formado, impedindo que correções acidentais ocultem problemas na origem.
Posso escolher tabulações ou espaços?
Sim. Defina o campo de recuo como uma sequência de espaços ou tabulações com até oito caracteres. O padrão é de dois espaços.
Há validação por XSD ou DTD?
Não. Apenas a boa formação do XML é verificada; esquemas e recursos DTD externos não são buscados nem aplicados.
A formatação altera o conteúdo textual?
Elementos com texto ou conteúdo misto ficam compactos para não receber espaços adicionais. A grafia de entidades e as aspas podem ser normalizadas sem alterar seus valores.
Por que meu XML é recusado?
Porque não está bem formado. Os motivos comuns são uma tag de fechamento que não confere, um atributo repetido na mesma tag, aspas ou um comentário sem fechar, mais de um elemento raiz ou uma entidade nomeada desconhecida. A mensagem indica o tipo de problema.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/web/xml-format \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"xml":"<catalog><book id=\"1\"><title>Practical XML</title><available>true</available></book></catalog>"}'const res = await fetch("https://api.kit.forhosting.com/web/xml-format", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"xml": "<catalog><book id=\"1\"><title>Practical XML</title><available>true</available></book></catalog>"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/xml-format",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"xml": "<catalog><book id=\"1\"><title>Practical XML</title><available>true</available></book></catalog>"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/xml-format", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"xml":"<catalog><book id=\\"1\\"><title>Practical XML</title><available>true</available></book></catalog>"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"xml":"<catalog><book id=\"1\"><title>Practical XML</title><available>true</available></book></catalog>"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/xml-format", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"xml": "<catalog><book id=\"1\"><title>Practical XML</title><available>true</available></book></catalog>"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.xml_format",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
timeout_sec | 30 |
max_crawl_pages | 25 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Transforme XML compactado em uma estrutura fácil de revisar
O XML muitas vezes chega em uma única linha de uma resposta de API, um arquivo de configurações exportado ou uma mensagem copiada de um log.
Use o navegador em verificações rápidas e a API em fluxos repetíveis
Para trabalho recorrente, a API oferece o mesmo algoritmo determinístico a testes, pipelines de ingestão, utilitários de suporte e integrações com editores por US$ 0,002 por solicitação.
Casos de integração
Revise uma carga de API
Expanda uma resposta XML compacta em uma hierarquia legível antes de depurar valores, aninhamento e atributos.
Normalize fixtures de teste
Aplique recuo estável ao XML gerado para que revisões e comparações mostrem claramente as mudanças estruturais.
Perguntas técnicas
Quanto custa formatar XML?
O uso é grátis no executor do navegador e custa US$ 0,002 por solicitação de API.