Formatador de código

Cole código e ele se organiza — idioma detectado, sem botão para clicar.

Como usar

  1. Cole o código na caixa — ele é formatado enquanto você digita; sem botão para clicar.
  2. O idioma é detectado a partir do código. Se a detecção errar, escolha um na lista; 2 ou 4 espaços e 80, 100 ou 120 colunas reorganizam imediatamente.
  3. Copie o resultado ou baixe-o com a extensão correta (.js, .ts, .json, .py …).

Exemplo

Entrada

function greet(user){if(!user){return "Olá, visitante";}const tags=["novo","ativo"];return `Olá, ${user.name}!`;}
export default greet;

Formatado

function greet(user) {
  if (!user) {
    return "Olá, visitante";
  }
  const tags = ["novo", "ativo"];
  return `Olá, ${user.name}!`;
}
export default greet;

Formatado com as regras padrão (2 espaços, 80 colunas). O Prettier acrescenta ponto e vírgula e aspas duplas; o template literal e o retorno para visitantes não mudam.

Regras, limites e problemas conhecidos

  • A formatação altera espaços em branco e as normalizações do próprio formatador (aspas, ponto e vírgula, vírgulas finais); ela nunca executa código, ordena chaves ou renomeia identificadores. Strings mantêm o conteúdo.
  • Motores: Prettier para JavaScript, TypeScript, JSON, CSS, SCSS, Less, HTML, Vue e GraphQL; Ruff (compatível com Black) para Python. Apenas o motor do idioma atual é baixado, no primeiro uso, e o navegador o armazena em cache.
  • A detecção automática é heurística. Um trecho que começa com uma tag pode ser lido como HTML mesmo sendo JSX; escolha JavaScript ou TypeScript manualmente. Um objeto com cara de JSON que não é JSON válido recai para JavaScript.
  • A seleção manual é soberana: escolher CSS nunca formata silenciosamente como SCSS. TypeScript tenta .ts e depois .tsx.
  • JSON usa o parser json do Prettier, então objetos curtos podem ficar em uma linha. Para validação estrita, ordem de chaves ou minificação, use a caixa de ferramentas JSON. Chaves duplicadas mantêm o último valor, como o JSON.parse faz.
  • O estilo padrão do Prettier é fixo: aspas duplas, ponto e vírgula, vírgulas finais quando válidas. .prettierrc e .editorconfig não são lidos e não há opções de aspas ou ponto e vírgula. Python usa aspas duplas e respeita vírgulas finais mágicas (Ruff/Black).
  • Os espaços em HTML seguem htmlWhitespaceSensitivity: css, então espaços ao redor de elementos inline podem diferir da origem. Markdown, YAML e XML não são suportados; o editor Markdown, o conversor de configuração e o formatador XML cobrem esses casos.
  • A saída usa LF sem quebra de linha final, e a formatação é idempotente. Acima de 200.000 caracteres o resultado é atualizado cerca de 0,6 s depois de você parar de digitar; a formatação roda em um Web Worker e o texto nunca é enviado, colocado na URL ou armazenado.

O que as pessoas costumam precisar depois que o código está legível.