Formatador de Números Online

Formatador de Números Online

Formate números online: adicione vírgulas, formate moeda e decimais em 16 locales com saída de código Intl.NumberFormat em tempo real. Grátis.

Atualizado em junho de 2026

Modo Rápido: Adicionar Vírgulas
1.250.500,75
Configuração Técnica
Estilo de Formatação

Resultado Formatado

R$ 1.250.500,75

Comparativo Global de Locales

Visualização simultânea de 16 padrões geográficos.

● Ao Vivo

🇺🇸 en-US

$1,250,500.75

🇩🇪 de-DE

1.250.500,75 €

🇧🇷 pt-BR

R$ 1.250.500,75

🇫🇷 fr-FR

1 250 500,75 €

🇯🇵 ja-JP

¥1,250,500.75

🇮🇳 hi-IN

₹12,50,500.75

🇬🇧 en-GB

£1,250,500.75

🇨🇳 zh-CN

¥1,250,500.75

🇮🇹 it-IT

1.250.500,75 €

🇷🇺 ru-RU

1 250 500,75 ₽

🇪🇸 es-ES

1.250.500,75 €

🇨🇭 fr-CH

1 250 500.75 CHF

🇸🇦 ar-SA

‏١٬٢٥٠٬٥٠٠٫٧٥ ر.س.‏

🇰🇷 ko-KR

₩1,250,500.75

🇵🇹 pt-PT

1 250 500,75 €

🇻🇳 vi-VN

1.250.500,75 ₫

Formatador de Números Online — Vírgulas, Moeda e Código Intl.NumberFormat

Cole qualquer número e veja instantaneamente como ele aparece formatado como moeda, decimal ou porcentagem em qualquer locale do mundo. Precisa adicionar pontos de milhar a um número grande, formatar um preço em reais para exibição num app, ou gerar o código JavaScript exato que reproduz o resultado? Essa ferramenta faz as três coisas.

Ao contrário de formatadores genéricos que só adicionam separadores de milhar, esta ferramenta expõe toda a potência da API nativa Intl.NumberFormat do browser: escolha o locale, a moeda, a quantidade mínima e máxima de casas decimais e o agrupamento. O snippet de código atualiza em tempo real para você copiar e colar direto no projeto.

Como Usar o Formatador de Números

Formatar um número leva segundos:

  1. Digite o número na barra de Modo Rápido no topo — o resultado aparece instantaneamente com separadores de milhar no seu locale, transformando 1250500,75 em 1.250.500,75 (pt-BR) ou 1,250,500.75 (en-US) conforme você digita.
  2. Configure o formato no painel de Configuração Técnica — selecione um locale, escolha o estilo (monetário, decimal ou porcentagem), escolha o código da moeda e defina a quantidade de casas decimais. O resultado atualiza ao vivo.
  3. Copie o resultado ou o código — clique em "Copiar Resultado" para pegar a string formatada, ou em "Copiar Código" para obter o snippet Intl.NumberFormat pronto para colar no seu código.

Exemplos de Formatação de Números

Veja como o mesmo número aparece em diferentes configurações:

Número Locale Estilo Saída
1250500,75 pt-BR moeda (BRL) R$ 1.250.500,75
1250500,75 en-US moeda (USD) $1,250,500.75
1250500,75 de-DE moeda (EUR) 1.250.500,75 €
1250500,75 hi-IN moeda (INR) ₹12,50,500.75
1250500,75 fr-CH moeda (CHF) CHF 1'250'500.75
1250500 pt-BR decimal 1.250.500
0,45 pt-BR porcentagem 45%

A linha da Índia mostra uma diferença crucial: ₹12,50,500.75 usa grupos de dois dígitos após os três primeiros, seguindo o sistema de lakh e crore do Sul da Ásia. Formatadores convencionais erram esse comportamento. O locale hi-IN resolve nativamente via Intl.NumberFormat.

A Suíça também surpreende: CHF 1'250'500.75 usa apóstrofos como separadores de milhar — uma peculiaridade suíça que nenhum regex feito à mão produziria corretamente.

Intl.NumberFormat — O Padrão JavaScript para Formatação

Intl.NumberFormat é a API nativa do JavaScript para formatação de números com consciência de locale. Todo browser moderno e o Node.js suportam sem dependências externas:

new Intl.NumberFormat('pt-BR', {
  style: 'currency',
  currency: 'BRL',
  minimumFractionDigits: 2,
  maximumFractionDigits: 2,
}).format(1250500.75);
// → "R$ 1.250.500,75"

O construtor recebe uma tag de idioma BCP 47 (como pt-BR, en-US ou hi-IN) e um objeto de opções. A propriedade style controla se o número aparece como string de moeda, decimal ou porcentagem. useGrouping: false remove todos os separadores — útil para payloads de API onde você precisa de um número puro.

Antes de Intl.NumberFormat ser universalmente suportado, desenvolvedores instalavam bibliotecas como numeral.js ou mantinham substituições de regex por país só para formatar números. Hoje, zero bytes extras são necessários.

Casos de Uso Comuns

  • Exibição de preços no e-commerce: Formate o mesmo preço do banco de dados para cada locale da loja — 12,99 vira R$ 12,99, €11,99 ou $12.99 dependendo do país do cliente, tudo com uma única chamada Intl.NumberFormat.
  • Dashboards financeiros: Exiba valores de carteira, faturamento e capitalização de mercado com separadores de milhar corretos para que 1250000 seja lido como 1.250.000 (pt-BR) de imediato.
  • Adicionar pontos de milhar a um número: O caso de uso mais comum — a barra de Modo Rápido no topo foi feita exatamente para isso: cole o número, veja o resultado, copie com um clique.
  • Faturas e relatórios: Gere strings com locale correto para documentos enviados a clientes em países diferentes, onde o locale do servidor não bate com o do destinatário.
  • Aprendizado e prototipagem: Teste como diferentes combinações de opções do Intl.NumberFormat interagem antes de confirmar uma configuração em produção.

Perguntas Frequentes

Como adicionar vírgulas de milhar a um número em JavaScript?

Use Intl.NumberFormat com o estilo decimal e useGrouping: true (o padrão): new Intl.NumberFormat('pt-BR').format(1250500) retorna "1.250.500". Para o locale americano, troque por 'en-US' — ele usa vírgula como separador de milhar e ponto como decimal. Esta ferramenta gera o snippet de código pronto para qualquer configuração.

O que faz minimumFractionDigits no Intl.NumberFormat?

minimumFractionDigits define o mínimo de casas decimais exibidas — o número formatado sempre mostrará pelo menos essa quantidade após a vírgula decimal. Definir como 2 garante que 1250500 apareça como R$ 1.250.500,00 e não R$ 1.250.500. maximumFractionDigits é o teto. Quando ambos são 2, o número sempre mostra exatamente duas casas decimais.

O Intl.NumberFormat suporta o sistema indiano de lakh e crore?

Sim. O locale hi-IN implementa o sistema de numeração indiano nativamente: grupos de dois dígitos após os três primeiros, produzindo ₹12,50,500,75 para 1.250.500,75. Nenhuma lógica extra é necessária — faz parte do padrão Unicode CLDR que os browsers implementam.

Qual a diferença entre o estilo percent e multiplicar por 100?

Intl.NumberFormat com style: 'percent' trata o valor como fração, não como porcentagem — ele multiplica internamente por 100. Passe 0,45 para obter "45%", não 45. Se o seu valor já é uma porcentagem (como 45), divida por 100 antes de formatar: formatter.format(45 / 100). A ferramenta exibe uma nota sobre isso quando você seleciona o estilo Porcentagem.

Como formatar números para países diferentes sem trocar a moeda?

Use o seletor de Locale na Configuração Técnica para sobrescrever o locale de exibição independentemente do código de moeda. Por exemplo, você pode exibir um valor em BRL usando as convenções do locale en-US para obter R$1,250,500.75 em vez de R$ 1.250.500,75. Útil ao exportar dados para audiências internacionais mantendo a moeda original.

Recursos

Ferramentas Relacionadas