O que cada conversão faz
| Opção | Entrada | Saída |
|---|---|---|
| Frase normal | A REUNIÃO É NA SEXTA. TRAGA O DECK. | A reunião é na sexta. Traga o deck. |
| Maiúsculas De Título | a arte da guerra e da paz | A Arte da Guerra e da Paz |
| Cada Palavra Maiúscula | a arte da guerra | A Arte Da Guerra |
| camelCase | nome do usuario | nomeDoUsuario |
| snake_case | nome do usuario | nome_do_usuario |
| CONSTANT_CASE | maximo de tentativas | MAXIMO_DE_TENTATIVAS |
Separar palavras digitadas sem espaço
Separar palavras pega algo como
eutesteiissoenaofuncionou e devolve eu testei isso e não funcionou. É
a única operação daqui que não é uma transformação simples de string, e a abordagem
ingênua erra feio.
Casar a maior palavra primeiro parece razoável e está errado:
vamosalmocar viraria vamo salmo car, porque salmo é palavra
de verdade e o método guloso nunca reconsidera. O caminho certo é
programação dinâmica sobre frequência de palavras. Cada divisão candidata
é pontuada pela probabilidade das palavras que produz, o algoritmo guarda a melhor
pontuação de cada prefixo, e o caminho vencedor é lido de trás para frente no fim.
Fragmentos desconhecidos são aceitos, mas com penalidade que cresce com o tamanho — o que
impede tanto engolir a string inteira quanto picá-la em ruído.
Os dados de frequência vêm de um corpus de legendas, e não de jornal, de propósito:
legenda é linguagem falada, que é o registro de quem digita sem espaço — nome de usuário,
hashtag, mensagem apressada. Os acentos são restaurados automaticamente, porque a forma
acentuada e a sem acento dividem a mesma entrada no índice: digite
naofuncionou e sai não funcionou.
Texto que já tem espaço fica intacto, e uma palavra sozinha que não divide também. A lista só é baixada quando você usa o recurso, então a página continua leve para quem não usa.
O resgate do Caps Lock
O motivo mais comum de alguém chegar aqui é um parágrafo inteiro digitado em caixa
alta. Só passar para minúsculo não resolve — você perde o início das frases e todos os
nomes próprios. Frase normal resolve a primeira parte
automaticamente: quebra o texto nos limites de frase (., !,
? seguidos de espaço), passa o corpo para minúsculo e recapitaliza a letra
inicial de cada uma.
Nomes próprios são a parte que nenhuma ferramenta resolve por completo, porque exigiria saber que rosa é flor numa frase e nome na seguinte. Restauramos as maiúsculas de uma lista de nomes comuns — dias da semana, meses, países, cidades grandes, marcas conhecidas — e o resto fica com você. Leia o resultado uma vez antes de publicar.
Maiúsculas de título não são uma regra só
Os manuais de estilo discordam sobre quais palavras pequenas ficam em minúscula, e a divergência é real, não implicância. Em inglês, o AP Style capitaliza preposições de quatro letras ou mais, enquanto o Chicago mantém todas em minúscula independentemente do tamanho, exceto na primeira e na última posição. Nossa regra segue o denominador comum: artigos, conjunções coordenativas e preposições curtas ficam em minúscula no meio do título.
Se o seu padrão for outro, use Cada Palavra Maiúscula e corrija as exceções à mão — é mais rápido que brigar com um algoritmo opinativo.
Convenções de programação
As cinco convenções de código partem do mesmo passo: separar a entrada em palavras. É
nesse ponto que a maioria dos conversores erra. Tratamos espaços, hífens, underlines
e a fronteira de letras maiúsculas como separadores, então
getUserID, get_user_id e Get User ID chegam à
mesma lista de palavras antes de serem reunidos. Siglas no meio do identificador
sobrevivem à ida e volta.
- camelCase — variáveis e funções em JavaScript, métodos em Java.
- PascalCase — nomes de classe na maioria das linguagens, componentes React.
- snake_case — variáveis em Python e Ruby, colunas de SQL.
- kebab-case — URLs, classes CSS, atributos HTML, nomes de arquivo.
- CONSTANT_CASE — variáveis de ambiente e constantes de compilação.
Os contadores
Caracteres, palavras, frases e linhas atualizam enquanto você digita, o que ajuda quando existe um limite duro — uma meta description de 160 caracteres, um post, um SMS, um título de anúncio. O tempo de leitura assume 200 palavras por minuto, número usual para leitura silenciosa de texto não técnico. A contagem de caracteres inclui espaços.
Privacidade e limites
Toda conversão é uma operação de string executada no seu navegador. Nada é enviado, nada é armazenado e não existe cadastro. O único limite prático é a memória da aba — documentos de vários megabytes convertem sem problema. O Desfazer restaura o estado anterior se a conversão não foi a que você queria; ele guarda os últimos vinte passos.
Perguntas frequentes
Por que Maiúsculas De Título deixa algumas palavras em minúscula?
Porque é o que os manuais de estilo pedem. Artigos, conjunções coordenativas e preposições curtas (de, da, do, em, com, por) ficam em minúscula quando não são a primeira nem a última palavra do título. Se você quer toda palavra em maiúscula, use Cada Palavra Maiúscula.
Conserta texto digitado com Caps Lock ligado?
Sim — é para isso que serve Frase normal. Ela passa tudo para minúsculo e recapitaliza a primeira letra de cada frase, além dos nomes próprios que reconhece. Ela não tem como saber que 'rosa' é um nome e não uma flor em todo contexto, então revise os nomes depois de converter.
Meu texto é enviado para algum lugar?
Não. Toda conversão é uma operação de string executada no seu navegador. Nada é enviado, registrado ou armazenado — dá para usar com rascunhos, texto de cliente e material sob confidencialidade.
Qual a diferença entre camelCase, PascalCase e snake_case?
São convenções de nomes em código. camelCase começa em minúscula e capitaliza cada palavra seguinte (nomeUsuario). PascalCase capitaliza também a primeira (NomeUsuario). snake_case usa minúsculas unidas por underline (nome_usuario), e kebab-case usa hífen (nome-usuario), convenção de URLs e classes CSS.
Funciona com acentos e cedilha?
Sim. As conversões respeitam o idioma escolhido, então ç, ã, é e companhia convertem certo em português, espanhol, francês e alemão. O caso conhecido que exige tratamento próprio é o i com e sem ponto do turco.