Formatador de JavaScript
Formate JavaScript e TypeScript usando o Prettier, com controle sobre indentação, ponto e vírgula e estilo de aspas. Um analisador real, então literais de template, expressões regulares e JSX são tratados corretamente.
- Os arquivos nunca saem do seu dispositivo
- Grátis, sem cadastro
- Sem marcas d'água
- Funciona offline depois de carregado
Como formatador de javascript
- 1
Cole seu código
JavaScript, TypeScript ou JSX.
- 2
Defina seu estilo
Indentação, ponto e vírgula e preferência de aspas.
- 3
Copie o resultado
Formatado exatamente como o Prettier faria no seu editor.
Por que formatar JavaScript realmente exige rodar o Prettier
O Prettier não é meramente a inspiração para a saída de formatação desta ferramenta — é o próprio pacote Prettier, baixado e rodando no seu navegador em vez de através do Node em um servidor, então o resultado é idêntico byte a byte ao que rodar `npx prettier` localmente produziria com a mesma configuração. Essa distinção importa porque formatar JavaScript é genuinamente difícil de aproximar: fazer isso corretamente exige analisar completamente a linguagem, não comparar com padrões, e um formatador que apenas aproxima o comportamento do Prettier vai divergir da configuração real do Prettier de um projeto exatamente nos casos extremos onde importa — dentro de um decorador, um tipo genérico complexo, ou uma expressão JSX incomum.
Por que formatadores ingênuos de JavaScript quebram em código real
JavaScript contém várias construções que fazem uma abordagem simples de contar chaves e pontos e vírgulas falhar diretamente. Literais de template podem conter texto arbitrário entre crases, incluindo caracteres que parecem exatamente código — `` `function() { return "not real code"; }` `` é um único valor de string, não três declarações, e um formatador que não rastreia os limites de literais de template vai interpretar isso erroneamente. Literais de expressão regular são piores: `/{}/` contém caracteres que parecem chaves mas fazem parte do próprio padrão da expressão regular, não sintaxe estrutural. A inserção automática de ponto e vírgula adiciona uma terceira camada de dificuldade, já que JavaScript permite omitir pontos e vírgulas em muitos contextos e infere onde uma declaração termina segundo regras que um formatador ingênuo baseado em linhas não tem como replicar corretamente. Analisar realmente a linguagem em uma árvore de sintaxe adequada, como o Prettier faz, é o que evita os três modos de falha — um formatador de atalho que erra mesmo em um deles em código de produção é um risco, não uma conveniência.
O que o Prettier deliberadamente não faz
O Prettier formata código — padroniza espaços em branco, quebras de linha, estilo de aspas e escolhas apresentacionais similares — e explicitamente não verifica se o código está correto, com tipos seguros, ou livre de erros. Um arquivo com um erro de tipo, uma referência a variável indefinida, ou um erro lógico é formatado sem reclamar desde que seja sintaticamente válido, porque formatar e verificar tipos são preocupações separadas tratadas por ferramentas separadas. O próprio compilador do TypeScript, ou um linter como o ESLint, é onde a correção é verificada; o trabalho desta ferramenta termina em tornar o código de estilo consistente e legível.
Por que equipes escolhem um estilo compartilhado em vez de discutir sobre isso
Tabulações versus espaços, aspas simples versus duplas, ponto e vírgula ou não — nenhuma dessas escolhas afeta significativamente como o código roda, e desacordos sobre elas costumavam consumir tempo real em discussões de revisão de código que não tinham nada a ver com correção. A verdadeira proposta de valor do Prettier é remover completamente esse debate da mesa: um pequeno conjunto opinativo de regras de formatação aplicado automática e identicamente em todo lugar significa que o debate é resolvido uma vez, na configuração, em vez de repetidamente em cada pull request daí em diante.
Igualando a configuração específica de um projeto
Cada opção exposta aqui — largura de indentação, ponto e vírgula, estilo de aspas — reflete uma configuração real do Prettier, então colar código de um projeto com um `.prettierrc` conhecido e igualar essas mesmas configurações aqui reproduz exatamente o que a própria ferramenta daquele projeto produziria, sem precisar instalar nada localmente apenas para verificar como um trecho seria formatado.
Perguntas frequentes
É o mesmo que rodar o Prettier localmente?
Sim — é o próprio Prettier, rodando no seu navegador em vez de no Node. Com as mesmas opções você obtém uma saída idêntica byte a byte ao `npx prettier` no mesmo arquivo.
Por que não usar um formatador mais simples?
Porque formatadores ingênuos quebram código real. Chaves dentro de literais de template e expressões regulares, JSX, e inserção automática de ponto e vírgula todos exigem realmente analisar a linguagem. Um formatador que corrompe silenciosamente um arquivo em cada cinquenta é pior que nenhum.
Funciona com TypeScript e JSX?
Sim. Anotações de tipo, genéricos, decoradores e JSX são todos analisados. Note que ele apenas formata — não verifica tipos nem compila.
Por que a formatação falhou?
O código tem um erro de sintaxe — o Prettier precisa analisá-lo antes de poder imprimi-lo. A mensagem inclui a linha e coluna do primeiro problema, o que geralmente é suficiente para encontrá-lo.
Meu código é enviado para um servidor?
Não. O Prettier é baixado para o seu navegador e roda ali. Código proprietário nunca sai da sua máquina, o que não é verdade para a maioria dos formatadores online.
Tarefas comuns de formatador de javascript
Você também pode precisar
Formatador de JSON
Formate, valide e minifique JSON instantaneamente
Formatador de HTML
Embeleze e indente HTML corretamente
Formatador de CSS
Embeleze ou minifique folhas de estilo
Codificador e decodificador Base64
Codifique e decodifique Base64 e Base64URL
Minificador de CSS
Reduza folhas de estilo com um minificador de verdade, consciente de CSS
Gerador de hash
MD5, SHA-1, SHA-256, SHA-384 e SHA-512
Minificador de JS
Reduza JavaScript com minificação de verdade, não regex
Decodificador de JWT
Decodifique e inspecione JSON Web Tokens