Como usar
- Digite ou cole o texto no painel Entrada, use o botão Colar, abra ou solte um arquivo de texto (.txt ou .csv) ou toque em Exemplo.
- No cabeçalho do Resultado, escolha o grupo (Texto ou Código) e o estilo. O resultado muda enquanto você digita, e o que o estilo faz aparece no status, embaixo da Entrada.
- Título e Frase mantêm siglas como CPF e nomes como iPhone e JavaScript do jeito que estavam, e o status diz quais palavras ficaram assim.
- No grupo Código, cada linha vira um identificador, e cada campo separado por tab, vírgula ou ponto e vírgula também (como no cabeçalho de uma planilha). Sem acentos tira os acentos e troca ç por c (ação → acao); no Código ela já vem ligada.
- Copie ou baixe o resultado no rodapé do Resultado. O grupo, o estilo de cada grupo e Sem acentos ficam salvos neste navegador; o texto, não.
Exemplos
Título com as regras do português
o senhor dos anéis: a sociedade do anelO Senhor dos Anéis: A Sociedade do AnelLista de nomes em snake_case
nome do cliente
Data de Nascimento
XMLHttpRequestnome_do_cliente
data_de_nascimento
xml_http_requestCabeçalho de planilha em camelCase
Nome do cliente Preço unitário userIDnomeDoCliente precoUnitario userIdTítulo e Frase com as regras do português
No Título, cada palavra começa com maiúscula, exceto as 36 palavras menores do português (artigos, preposições e conjunções como a, o, de, da, do, em, por, com, e, ou) quando não abrem a frase: “maria da silva e joão dos santos” vira “Maria da Silva e João dos Santos”. Depois de “:” a palavra seguinte volta a ter maiúscula (“O Senhor dos Anéis: A Sociedade do Anel”), e letra única seguida de ponto é inicial (“J. R. R. Tolkien”).
O apóstrofo faz parte da palavra: “olho d'água” vira “Olho d'Água”, com o d em minúscula. O hífen separa: “guarda-chuva de pé-de-moleque” vira “Guarda-Chuva de Pé-de-Moleque”. Siglas (CPF, INSS, XXI) e nomes com caixa mista (iPhone, JavaScript, McDonald's) ficam como estavam. A Frase põe maiúscula só no começo de cada frase e de cada linha e mantém as mesmas siglas e nomes.
Numa linha toda em maiúsculas não dá para saber o que é sigla, então nela nada é mantido e o status avisa. As funções prontas ignoram essas regras: =PRI.MAIÚSCULA() do Excel transforma “maria da silva” em Maria Da Silva, e o str.title() do Python transforma “it's d'água” em It'S D'Água, porque trata o apóstrofo como fim de palavra.
Os cinco estilos de código e como as palavras são separadas
camelCase (nomeDoCliente) é o padrão de variáveis e funções em JavaScript e Java; PascalCase (NomeDoCliente), de classes, tipos e componentes React; snake_case (nome_do_cliente), de variáveis e funções em Python (PEP 8), Ruby e colunas de banco; kebab-case (nome-do-cliente), de URLs, classes CSS e nomes de arquivo; CONSTANTE (NOME_DO_CLIENTE), de constantes e variáveis de ambiente.
As palavras são separadas por espaço, por _ - . / e pela mudança de caixa: dataNascimento vira data_nascimento. Numa corrida de maiúsculas o corte fica antes da última, então XMLHttpRequest vira xml_http_request. O plural de sigla fica junto (userIDs vira user_ids) e os dígitos ficam (versao2 continua versao2, utf8String vira utf8_string), ao contrário de conversores que usam a biblioteca change-case com filtro só de letras, que apagam os dígitos (versao2 vira versao).
Símbolos e emoji não entram em identificador: são descartados e o status lista quais. Identificador que começa com dígito (2fa_token) também gera aviso, porque a maioria das linguagens não aceita esse nome de variável.
Unicode: quando maiúscula não é só trocar a letra
Trocar a caixa nem sempre mantém o número de letras: o “ß” alemão vira “SS” (straße em maiúsculas é STRASSE) e a ligadura “fi” vira “FI”. O “İ” turco (I com ponto) em minúscula vira “i” mais um ponto combinante, dois caracteres. O sigma grego tem forma final: “ΣΑΣ ΟΔΟΣ” em minúsculas fica “σας οδος”. Quando o resultado fica mais longo que a entrada, o status avisa.
Esta página troca a caixa sem regra de idioma, como o toUpperCase() do JavaScript. Com toLocaleUpperCase("tr") o i ganha o ponto do turco e "title" vira TİTLE, o que estragaria um identificador. Já o strtoupper("ação") do PHP só conhece ASCII e devolve AçãO; o mb_strtoupper("ação") devolve AÇÃO, o mesmo resultado daqui.
Uma letra acentuada pode estar no texto como um caractere só (NFC) ou como letra mais acento combinante (NFD, comum em nomes de arquivo do macOS). Sem acentos decompõe o texto (NFD), tira os acentos combinantes e troca as letras que não se decompõem (ø, ł, đ, æ, œ e ß viram o, l, d, ae, oe e ss): “ação rápida” vira “acao rapida”.
Linha a linha, campo a campo, tudo no navegador
No grupo Código cada linha vira um identificador, então uma lista de colunas, as chaves de um JSON (a saída de jq -r 'keys[]') ou os nomes de campo de um formulário saem convertidos de uma vez. Dentro da linha, tab, vírgula e ponto e vírgula separam campos: o cabeçalho copiado do Excel e a primeira linha de um CSV (com vírgula ou com o ponto e vírgula do Excel em português) mantêm os separadores, e cada coluna vira um identificador.
A conversão roda inteira no seu navegador: o texto não é enviado para servidor nem salvo, nem no armazenamento local. Só as suas escolhas (grupo, estilo e Sem acentos) ficam guardadas neste navegador.
Perguntas frequentes
- Qual a diferença entre Título e Frase?
- Título põe maiúscula no começo de cada palavra, exceto artigos, preposições e conjunções no meio da frase: “O Senhor dos Anéis”. Frase põe maiúscula só no começo de cada frase e de cada linha, como num texto corrido: “O senhor dos anéis”. Os dois mantêm siglas e nomes como iPhone, mas nenhum reconhece nome próprio: na Frase, “eu moro em São Paulo. ele mora no RJ” vira “Eu moro em são paulo. Ele mora no RJ”, e o nome da cidade precisa ser corrigido à mão.
- Por que “de”, “da” e “do” ficam em minúscula no Título?
- É a regra de títulos e nomes em português: artigos, preposições e conjunções ficam em minúscula quando não abrem o título ou a frase (Maria da Silva, Ministério da Fazenda). Aqui são 36 palavras: a, à, ao, aos, as, às, com, da, das, de, do, dos, e, em, na, nas, nem, no, nos, num, numa, o, os, ou, para, pela, pelas, pelo, pelos, por, sem, sob, um, uma, umas, uns. No começo da linha ou depois de “:” elas ganham maiúscula (“E o Vento Levou”).
- Quando usar camelCase, PascalCase, snake_case, kebab-case e CONSTANTE?
- Siga a convenção da linguagem ou do lugar: camelCase para variáveis e funções em JavaScript, TypeScript e Java; PascalCase para classes, tipos e componentes React (e métodos em C#); snake_case para Python (PEP 8), Ruby e colunas de banco de dados; kebab-case para URLs, classes CSS e nomes de arquivo; CONSTANTE para constantes e variáveis de ambiente (DATABASE_URL).
- Como fica uma sigla como XMLHttpRequest ou userID? E na volta?
- A sigla vira uma palavra só: em snake_case, XMLHttpRequest vira xml_http_request e userID vira user_id. A volta não recupera a sigla: xml_http_request em camelCase vira xmlHttpRequest, porque o snake_case não guarda quais letras eram maiúsculas. Se a sigla importa, converta a partir do nome original.
- Posso usar acento em nome de variável ou de coluna?
- JavaScript, Python 3 e Java aceitam ação como nome de variável, mas banco de dados, URL, variável de ambiente e muitas ferramentas costumam pedir só ASCII. Por isso Sem acentos vem ligada no grupo Código: “ação rápida” vira acao_rapida. Com ela desligada sai ação_rápida, e o status avisa quais letras estão fora do ASCII.
- Como fazer no Excel, no Word, no Python e no JavaScript?
- Excel: =MAIÚSCULA(A1), =MINÚSCULA(A1) e =PRI.MAIÚSCULA(A1), que põe maiúscula em toda palavra (Maria Da Silva). Word: selecione o texto e aperte Shift+F3 para alternar entre minúsculas, MAIÚSCULAS e cada palavra com maiúscula. Python: s.upper(), s.lower(), s.title() e s.swapcase(); o title() transforma it's d'água em It'S D'Água. JavaScript: s.toUpperCase() e s.toLowerCase(); não há função pronta de Título nem de camelCase.