Formatar XML

Formatar XML online — NF-e, SOAP e validação de sintaxe

Cole um XML para identá-lo, minificá-lo ou conferir se está bem formado — o XML de uma NF-e fica legível em segundos. Se houver erro, você vê a linha e a coluna do primeiro problema, o ponto marcado no texto e como corrigir. O conteúdo dos campos nunca é alterado, e o XML não sai do seu navegador.

Saída
Recuo
  • XML formatado

    <?xml version="1.0" encoding="UTF-8"?> <nfeProc versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe"> <NFe> <infNFe versao="4.00"> <ide> <cUF>35</cUF> <natOp>Venda de mercadoria</natOp> <mod>55</mod> </ide> <emit> <xNome>Padaria Exemplo Ltda</xNome> <enderEmit> <xMun>São Paulo</xMun> <UF>SP</UF> </enderEmit> </emit> <det nItem="1"> <prod> <cProd>001</cProd> <xProd>Pão de queijo congelado 1 kg</xProd> <qCom>2.0000</qCom> <vUnCom>32.9000000000</vUnCom> <vProd>65.80</vProd> </prod> </det> <total> <ICMSTot> <vNF>65.80</vNF> </ICMSTot> </total> </infNFe> </NFe> </nfeProc>

ResultadoXML bem formado
Elementos22
Níveis de aninhamento6
Atributos4
Declarações de namespace1
Tamanho antes (bytes)547
Tamanho depois (bytes)799
Variação de tamanho46,07%
Linhas33

Só mudaram os espaços entre as tags — textos, valores de atributos, CDATA e comentários são copiados exatamente como estavam.

Calculado no seu dispositivo · fórmulas conferidas com resultados conhecidos · Como testamos

Como formatar um XML

  1. Cole o XML na caixa — o de uma NF-e, NFC-e ou CT-e, uma requisição ou resposta SOAP, um sitemap, um pom.xml do Maven, um layout do Android ou um SVG. Ele é conferido e formatado enquanto você cola.
  2. Escolha Formatar para pôr cada elemento na sua linha, com recuo de 2 espaços, 4 espaços ou tab, ou Minificar para tirar os espaços entre as tags.
  3. Toque em Copiar ao lado do resultado, ou em Baixar para salvar como arquivo.
  4. Se o XML não estiver bem formado, você vê o problema, a linha, a coluna, a própria linha com um ^ embaixo do ponto e como corrigir. Corrigiu, o XML formatado aparece na hora.

Ler o XML de uma NF-e

O XML de uma nota fiscal eletrônica chega em uma linha só, com milhares de caracteres — impossível de ler no Bloco de Notas. Formatado, cada grupo do leiaute aparece no seu nível: ide (identificação da nota), emit e dest (emitente e destinatário), um det por item com o prod e os impostos, total, transp, e no fim a assinatura (Signature) e, no arquivo autorizado, o protocolo da SEFAZ (protNFe). Fica fácil achar o valor de um item, conferir o CFOP ou o NCM, ou ver por que um sistema recusou o arquivo.

O exemplo da caixa é um trecho simplificado no leiaute 4.00 — sem assinatura e com vários campos obrigatórios omitidos, então não é uma nota válida —, com 547 bytes em uma linha. Formatado com 2 espaços, fica assim:

<?xml version="1.0" encoding="UTF-8"?>
<nfeProc versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe">
  <NFe>
    <infNFe versao="4.00">
      <ide>
        <cUF>35</cUF>
        <natOp>Venda de mercadoria</natOp>
        <mod>55</mod>
      </ide>
      <emit>
        <xNome>Padaria Exemplo Ltda</xNome>
        <enderEmit>
          <xMun>São Paulo</xMun>
          <UF>SP</UF>
        </enderEmit>
      </emit>
      <det nItem="1">
        <prod>
          <cProd>001</cProd>
          <xProd>Pão de queijo congelado 1 kg</xProd>
          <qCom>2.0000</qCom>
          <vUnCom>32.9000000000</vUnCom>
          <vProd>65.80</vProd>
        </prod>
      </det>
      <total>
        <ICMSTot>
          <vNF>65.80</vNF>
        </ICMSTot>
      </total>
    </infNFe>
  </NFe>
</nfeProc>

São 22 elementos em 6 níveis. Os valores ficam exatamente como estavam — 32.9000000000 continua com as dez casas decimais do leiaute, com ponto, e “Pão de queijo” mantém o ã. O recuo acrescenta 252 bytes; minificado de novo, volta a 547 bytes.

Não envie o XML formatado

A NF-e, o CT-e e a NFC-e são assinados digitalmente (XMLDSig) com o certificado da empresa, e a assinatura cobre o texto do grupo infNFe. Espaços e quebras de linha novos entre as tags mudam esse texto, então uma cópia formatada deixa de bater com a assinatura e é rejeitada pelo web service da SEFAZ — e também por sistemas que conferem a assinatura ao importar a nota. Formate para ler ou para achar um erro, mas guarde e envie sempre o arquivo original. Pelo mesmo motivo, não minifique um XML assinado.

Bem formado não é o mesmo que válido

Esta página confere a sintaxe do XML 1.0 e dos namespaces: um único elemento raiz; cada tag aberta fechada pela tag certa, na ordem certa e com as mesmas maiúsculas; valores de atributos entre aspas e sem atributo repetido; & e < no texto escritos como &amp; e &lt;; todo prefixo como ds: declarado; e a declaração <?xml … ?>, se houver, logo no começo. Ela não valida a nota contra os schemas XSD publicados no Portal da NF-e, não confere a assinatura nem consulta a SEFAZ: um XML bem formado ainda pode ser rejeitado por um campo fora do leiaute. O erro mais comum em XML montado à mão é o & sem escape:

  <xNome>Pão & Cia</xNome>
             ^

Aqui aparece & sem escape na linha 2, coluna 14: o nome “Pão & Cia” precisa ser escrito Pão &amp; Cia.

O que a formatação muda — e o que nunca toca

Só elementos que contêm apenas outros elementos ganham quebras de linha, porque só ali os espaços entre as tags não têm significado. O resto é copiado caractere por caractere:

Quebras de linha do Windows (CR LF) saem como LF, como todo leitor de XML já as interpreta.

Limites e dicas

O seu XML fica no seu aparelho

A leitura, a conferência e a formatação rodam no navegador. Notas fiscais trazem CNPJ, CPF, endereços e valores; nada disso é enviado nem registrado, e também não é salvo: ao recarregar a página, a caixa fica vazia.

Perguntas frequentes

O meu XML é enviado para algum servidor?

Não. O formatador é JavaScript que roda no seu navegador, então o arquivo não sai do seu aparelho, e a página continua funcionando offline depois de carregada.

Esta página valida a minha NF-e?

Ela confere se o XML está bem formado — a sintaxe que todo leitor de XML exige. Não valida contra os schemas XSD da NF-e, não confere a assinatura digital e não consulta a SEFAZ. Para isso use o validador do seu emissor ou o retorno do próprio web service.

Posso formatar a NF-e e depois enviar?

Não. A assinatura digital cobre o texto exato da nota, espaços incluídos, então a cópia formatada falha na conferência da assinatura. Use a versão formatada só para ler, e guarde e envie o arquivo original.

Por que aparece “& sem escape”?

No XML o & inicia uma referência como &amp; ou &#231;. Um & sozinho — numa razão social como “Pão & Cia”, numa descrição de produto ou numa URL com vários parâmetros — precisa ser escrito &amp;.

Por que alguns elementos ficam numa linha só?

Um elemento que contém texto — sozinho ou misturado com tags — é copiado exatamente como está, porque quebras de linha ou espaços dentro dele mudariam o texto. Só elementos que contêm apenas outros elementos são espalhados em várias linhas.

Incorpore esta calculadora no seu site

Grátis para qualquer site ou blog. Cole este código onde a calculadora deve aparecer:

Última atualização: 16 de outubro de 2026

Menu

Categorias

Calculadoras financeiras16 calculadorasCalculadoras para negócios e compras5 calculadorasCalculadoras de saúde e bem-estar7 calculadorasCalculadoras de matemática e escola15 calculadorasCalculadoras de datas e horas9 calculadorasContagens regressivas para datas especiais8 calculadorasFerramentas para o dia a dia33 calculadorasFerramentas de microfone, câmera e som10 calculadorasFerramentas de imagem e PDF18 calculadorasFerramentas para desenvolvedores7 calculadoras

CalcWorthy

SobreContatoPolítica de privacidadeTermos de uso

Idioma

Idioma
PortuguêsPortugueseEnglishEnglishالعربيةArabicবাংলাBanglaDeutschGermanEspañolSpanishفارسیPersianFrançaisFrenchעבריתHebrewहिन्दीHindiBahasa IndonesiaIndonesianItalianoItalian日本語Japanese한국어KoreanBahasa MelayuMalayNederlandsDutchPolskiPolishРусскийRussianไทยThaiTürkçeTurkishУкраїнськаUkrainianاردوUrduTiếng ViệtVietnamese简体中文Simplified Chinese