Conversor de Maiúsculas — UPPER, lower, camelCase
Converta texto entre UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE e mais 6 formatos instantaneamente. Grátis, no navegador, sem cadastro.
Caixas de texto
lowercase
Todas as letras em minúsculas. Espaço em branco preservado.
UPPERCASE
Todas as letras em maiúsculas. Espaço em branco preservado.
Title Case
Primeira letra de cada palavra capitalizada.
Sentence case
Primeira letra de cada frase capitalizada.
iNVERSE cASE
Troca maiúscula/minúscula para cada letra.
aLtErNaTiNg cAsE
Alterna minúscula/maiúscula por letra.
RaNdOm CaSe
Cara-ou-coroa para cada letra de forma independente.
Caixas de programação
camelCase
Primeira palavra em minúscula, restante capitalizado, sem separadores.
PascalCase
Cada palavra capitalizada, sem separadores.
snake_case
Minúsculas, unidas por underscores.
kebab-case
Minúsculas, unidas por hífens.
CONSTANT_CASE
Maiúsculas, unidas por underscores.
dot.case
Minúsculas, unidas por pontos.
path/case
Minúsculas, unidas por barras.
Header-Case
Cada palavra capitalizada, unida por hífens.
O que é um conversor de maiúsculas e minúsculas?
Um conversor de maiúsculas e minúsculas é uma pequena utilidade que pega um trecho de texto e o renderiza em uma convenção de caixa de letras diferente. As formas mais simples são UPPERCASE e lowercase — vire cada letra para uma caixa. As formas mais ricas aplicam regras linguísticas (Title Case capitaliza a primeira letra de cada palavra, Sentence case capitaliza a primeira letra de cada frase) ou regras de nomenclatura de programação (camelCase une palavras capitalizando cada uma depois da primeira; snake_case deixa tudo em minúsculas e une com underscores). Conversores de caixa online existem desde que a web tem textareas, porque a conversão é mecanicamente simples mas tediosa de fazer à mão para qualquer quantidade não-trivial de texto.
A família de caixa de texto é a que escritores, editores, marketeiros e jornalistas costumam buscar. UPPERCASE e lowercase são úteis para casar com o estilo da casa ou remover o ALL-CAPS gritado de um e-mail encaminhado. Title Case é para títulos e nomes de livros. Sentence case é o padrão web moderno para corpo de texto, microcopy de UI, rótulos de botão e legendas — Google, Apple e os guias de estilo da Microsoft convergiram para ele na última década. As variantes zombeteiras (iNVERSE cASE, aLtErNaTiNg cAsE, RaNdOm CaSe) vêm da cultura da internet, particularmente o "meme do bob esponja" usado para citar alguém com sarcasmo; alternating case é a variante estrita determinística, random case é a caótica.
A família de caixa de programação é a que desenvolvedores usam todo santo dia. camelCase é o padrão para identificadores em JavaScript, Java, Swift e Kotlin. PascalCase é o padrão para nomes de classe na maioria das linguagens orientadas a objeto e nomes de componentes em React, Vue e Angular. snake_case é o padrão para Python, Ruby, Rust e Elixir, mais a maioria dos nomes de coluna de banco de dados. kebab-case é o padrão para nomes de classe CSS, slugs de URL e atributos HTML. CONSTANT_CASE é o padrão para variáveis de ambiente, constantes de nível superior e nomes de macro. dot.case é usada para namespacing (pacotes Java, caminhos de campo do MongoDB). path/case é usada para URLs e caminhos de sistema de arquivos. Header-Case é a convenção canônica de cabeçalhos HTTP/1.1 (Content-Type, Access-Control-Allow-Origin).
Por baixo do capô, a engenharia interessante é o tokenizador que divide uma string de entrada em suas palavras semânticas. É fácil dividir por espaço em branco; a parte difícil é reconhecer fronteiras de palavra que não têm um separador de espaço em branco. A convenção padrão — usada pelo lodash, pelo pacote npm change-case, pela PEP 8 do Python e pela maioria das bases de código do mundo real — insere uma fronteira em três transições: minúscula para maiúscula (parseHTML → parse / HTML), maiúscula para maiúscula para minúscula (XMLHttpRequest → XML / Http / Request) e letra para dígito / dígito para letra (file2x → file / 2 / x). Mais os separadores explícitos: hífen, underscore, ponto, barra, contrabarra. Com esse único tokenizador, você pode colar um identificador em qualquer caixa — camelCase, snake_case, kebab-case, misto — e converter para qualquer outra caixa de forma limpa sem limpeza manual.
A ferramenta que você está usando roda o tokenizador e todas as 15 transformações inteiramente no seu navegador usando JavaScript. Não há chamada de rede, sem servidor, sem registro, sem cookie que grave o que você digita. A saída para cada caixa atualiza a cada tecla sem atraso de debounce. O botão Copiar em cada card escreve só aquela única caixa na sua área de transferência. Re-shuffle re-roleia a caixa aleatória sem perturbar as outras saídas. Tudo é projetado para a velocidade do trabalho real — colar, escanear, copiar, colar em outro lugar.
Para ferramentas de texto relacionadas, o contador de palavras lida com métricas de comprimento e tempo de leitura, o text diff compara dois trechos de texto linha por linha, e o regex tester verifica correspondências de padrão contra entrada de exemplo. Juntas elas cobrem a maior parte do trabalho de modelagem de texto que um desenvolvedor ou trabalhador de conteúdo faz em um navegador.
// The tokenizer that powers every programming-case conversion
function tokenize(input) {
return input
.replace(/([a-z0-9])([A-Z])/g, '$1 $2') // lower→upper: parseHTML → parse HTML
.replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2') // acronym boundary: XMLHttp → XML Http
.replace(/([A-Za-z])(\d)/g, '$1 $2') // letter→digit: file2 → file 2
.replace(/(\d)([A-Za-z])/g, '$1 $2') // digit→letter: 2x → 2 x
.replace(/[\s\-_./\\]+/g, ' ') // collapse separators
.split(' ').filter(Boolean);
}
// Then each case is a one-liner over the tokens
const camelCase = (s) => tokenize(s).map((t, i) => i === 0 ? t.toLowerCase() : cap(t)).join('');
const snakeCase = (s) => tokenize(s).map(t => t.toLowerCase()).join('_');
const kebabCase = (s) => tokenize(s).map(t => t.toLowerCase()).join('-');
const PascalCase = (s) => tokenize(s).map(cap).join('');
function cap(t) {
return t.charAt(0).toUpperCase() + t.slice(1).toLowerCase();
} Principais recursos
Todas as 15 caixas visíveis ao mesmo tempo
Cole seu texto e cada caixa renderiza instantaneamente em uma grade de duas colunas. Sem precisar escolher um formato primeiro ou passar por um dropdown — escaneie a grade, copie a que precisa. As caixas de texto e as caixas de programação são divididas em seções separadas para você achar o card certo em uma olhada.
Tokenizador inteligente para caixas de programação
Reconhece fronteiras de minúscula para maiúscula (camelCase), fronteiras de maiúscula para maiúscula para minúscula (XMLHttpRequest → XML/Http/Request), fronteiras de letra para dígito (file2x) e todos os separadores comuns (-, _, ., /, \, espaço em branco). Bate com as convenções do lodash e do pacote npm change-case, então a saída faz round-trip da forma que bases de código reais esperam.
Cópia por card com feedback ao vivo
Cada card de saída tem seu próprio botão Copiar — clique uma vez e só aquela caixa cai na sua área de transferência. O rótulo muda brevemente para "Copiado!" para você saber que funcionou. Sem precisar selecionar texto ou clicar com o botão direito.
Atualizações em tempo real a cada tecla
Cada caixa re-renderiza a cada tecla sem atraso de debounce. Sem botão Converter para clicar, sem recarregar a página, sem espera. Feito para a velocidade da edição real — colar, escanear, copiar, pronto.
Re-Shuffle para Random Case
A saída Random Case pode ser re-roletada independentemente com o botão Re-shuffle, sem perturbar nenhuma outra saída ou o texto de entrada. Útil quando você quer uma variante diferente do meme do bob esponja para o mesmo texto de origem.
Preserva espaço em branco e pontuação
Transformações de caixa de texto (UPPERCASE, lowercase, Title, Sentence, iNVERSE, aLtErNaTiNg, RaNdOm) preservam cada espaço, quebra de linha e marca de pontuação por design. Cole um documento de vários parágrafos e a formatação sobrevive intacta — só a capitalização das letras muda.
Mapeamentos de caixa cientes de Unicode
Usa os métodos `toLocaleLowerCase` e `toLocaleUpperCase` cientes de Intl para que İ/ı com e sem ponto do turco, ß alemão, sigma final do grego e outras caixas sensíveis à locale sejam tratadas corretamente. O tokenizador reconhece letras de qualquer script (Unicode \p{L}).
Privacidade 100% no navegador
Toda a conversão roda localmente no seu navegador. Seu texto nunca é enviado, nunca é registrado, nunca é armazenado, nunca é analisado. Seguro para nomes de produtos não anunciados, esquemas internos de variáveis, rascunhos de press releases e qualquer material confidencial. Zero requisições de rede enquanto você digita — verifique na aba Network do seu navegador.
Round-trip que preserva acrônimos
Converta XMLHttpRequest → xml_http_request → XmlHttpRequest e a estrutura faz round-trip de forma limpa. A mesma convenção da PEP 8 para Python e do pacote change-case para JS — sem precisar dividir manualmente letra por letra ao migrar uma base de código entre convenções de caixa.
Alternativas comparadas ao conversor de caixa
lodash (_.camelCase, _.snakeCase, _.kebabCase, _.startCase)
biblioteca JavaScriptA implementação de referência para a maioria das bases de código JS. Produz saída idêntica a esta ferramenta para os casos comuns. O lodash usa um tratamento ligeiramente diferente de Unicode para casos de borda. Use lodash no seu código; use esta ferramenta para conversões pontuais ou verificações rápidas durante uma refatoração.
Pacote npm change-case
biblioteca JavaScriptBiblioteca de conversão de caixa modular e tree-shakable — uma função por caixa. O tokenizador desta ferramenta bate exatamente com a convenção do change-case v5+, então as saídas são idênticas byte a byte para entradas ASCII. Use change-case quando você quer só camelCase ou só snake_case no seu bundle; use esta ferramenta para conversão interativa.
Comandos de caixa embutidos do VS Code
comando de editorO VS Code já vem com os comandos `Transform to Uppercase`, `Transform to Lowercase` e `Transform to Title Case` (Cmd-Shift-P → buscar). Sem camelCase, snake_case ou outras caixas de programação de fábrica; extensões como "change-case" as adicionam. Melhor quando seu texto já está no editor; esta ferramenta é mais rápida para conversões com fluxo de área de transferência.
convertcase.net
ferramenta de navegadorO conversor de caixa online original — só caixas de texto (UPPERCASE, lowercase, Sentence, Title, alternating, inverse). Sem caixas de programação. Existe desde o início dos anos 2000 e ainda é o top de muitas buscas por caixa de texto. Esta ferramenta cobre as mesmas caixas de texto e adiciona as oito caixas de programação também.
Alterar Maiúsculas e Minúsculas do Microsoft Word (Página Inicial > Alterar Maiúsculas e Minúsculas)
app desktopO Word tem um botão Alterar Maiúsculas e Minúsculas na faixa Página Inicial: Sentence case, lowercase, UPPERCASE, Capitalize Each Word, tOGGLE cASE. Sem caixas de programação. O fluxo exige estar no Word com o arquivo aberto. Use o Word quando seu texto já está em um documento; use esta ferramenta quando você está em uma aba do navegador.
Transformações do Pages / TextEdit da Apple
app desktopmacOS Pages e TextEdit têm Edit > Transformations: Make Upper Case, Make Lower Case, Capitalize. Sem camelCase, snake_case ou outras variantes de programação. Rápido para texto curto nesses apps; não foi feito para trabalho com identificadores de código.
Conversores online de caixa de programação (ex.: camelcasse.com)
ferramenta de navegadorConversores dedicados de única caixa que focam em uma transformação (só camelCase, só snake_case). Menos caixas para escanear, UI mais focada. Esta ferramenta mostra todas as 15 ao mesmo tempo, o que é mais rápido para refatorar entre múltiplas caixas — mas se você só precisa de uma, uma ferramenta de única caixa serve.
Exemplos de conversão de caixa
Assunto de e-mail em CAIXA-ALTA → Sentence case
URGENT: PLEASE REVIEW THE Q4 BUDGET PROPOSAL BEFORE FRIDAY
Saída Sentence case: "Urgent: please review the q4 budget proposal before friday" — remove instantaneamente o tom gritado de caixa-alta para encaminhar ou responder com cortesia. Saída Title Case: "Urgent: Please Review The Q4 Budget Proposal Before Friday" — se você prefere manter o estilo de manchete formal. As duas acontecem ao mesmo tempo; escolha a que se encaixa na sua resposta.
Variável snake_case → camelCase
user_profile_image_url
Saída camelCase: "userProfileImageUrl" — solte direto em JavaScript, Java ou Swift. PascalCase: "UserProfileImageUrl" — para nomes de propriedades em C# / .NET ou nomes de componentes React. kebab-case: "user-profile-image-url" — para classes CSS ou slugs de URL. CONSTANT_CASE: "USER_PROFILE_IMAGE_URL" — para variáveis de ambiente ou constantes de nível superior. Um paste, quatro identificadores prontos para usar.
Nome de classe com acrônimo pesado (XMLHttpRequest)
XMLHttpRequest
O tokenizador reconhece a fronteira XML / Http / Request. Saídas: snake_case → "xml_http_request", kebab-case → "xml-http-request", CONSTANT_CASE → "XML_HTTP_REQUEST", Header-Case → "Xml-Http-Request". Essa é exatamente a convenção que o lodash, o pacote change-case e o tratamento de acrônimos da PEP 8 do Python usam — sua refatoração do nome de uma classe JS para um nome de módulo Python leva um paste, não uma divisão manual letra por letra.
Título de página para slug de URL (Title → kebab-case)
10 Tips for Faster JavaScript: A Complete Guide
Saída kebab-case: "10-tips-for-faster-javascript-a-complete-guide" — o slug seguro para URL que a maioria dos CMS (WordPress, Ghost, Hugo) gera por padrão. snake_case: "10_tips_for_faster_javascript_a_complete_guide" — para convenções de nome de arquivo. O tokenizador descarta os dois-pontos e outras pontuações de forma limpa; você não precisa limpar o título antes.
Nome de cabeçalho HTTP a partir de Camel-Case (Header-Case)
accessControlAllowOrigin
Saída Header-Case: "Access-Control-Allow-Origin" — a grafia exata que a spec HTTP usa, pronta para soltar em um objeto de opções do fetch() ou em uma resposta do lado do servidor. kebab-case: "access-control-allow-origin" — a mesma forma canônica, em minúsculas (algumas bibliotecas HTTP usam isso internamente). Esta é a forma mais rápida de traduzir uma propriedade de objeto JS para um nome real de cabeçalho.
Constante a partir de uma configuração legível (CONSTANT_CASE)
max retries per request
Saída CONSTANT_CASE: "MAX_RETRIES_PER_REQUEST" — solte em um arquivo de config como `const MAX_RETRIES_PER_REQUEST = 3` ou em um arquivo `.env` como `MAX_RETRIES_PER_REQUEST=3`. snake_case: "max_retries_per_request" — para constantes de nível de módulo no estilo Python ou chaves YAML. Mesma origem, dois destinos, sem edição manual.
Frase para meme do Bob Esponja (aLtErNaTiNg cAsE)
this is fine, everything is going great
Saída aLtErNaTiNg cAsE: "tHiS iS fInE, EvErYtHiNg iS gOiNg GrEaT" — o formato canônico de zoeira do bob esponja. A alternância é um toggle global ao longo das letras, não por palavra, batendo com o que o convertcase.net e outros geradores de meme fazem. RaNdOm CaSe: vira cada letra independentemente — útil quando você quer a mesma energia sarcástica com mais caos.
Como usar o conversor de maiúsculas e minúsculas
- 1
Cole ou digite seu texto
Clique no editor e digite, ou cole qualquer texto — uma frase, um parágrafo, um identificador, um título. Cada saída de caixa atualiza instantaneamente. Clique em Exemplo para carregar uma frase representativa se você só quer ver como as caixas diferem.
- 2
Escaneie a grade
As sete caixas de texto (UPPERCASE, lowercase, Title, Sentence, iNVERSE, aLtErNaTiNg, RaNdOm) estão na seção superior. As oito caixas de programação (camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, path/case, Header-Case) estão na seção inferior. Cada card mostra o rótulo da caixa, uma descrição de uma linha e a saída convertida.
- 3
Clique em Copiar na caixa que quer
Cada card de saída tem seu próprio pequeno botão Copiar. Clique uma vez — a caixa cai na sua área de transferência, o botão pisca "Copiado!" e você está pronto para colar em outro lugar. Sem precisar selecionar primeiro o texto de saída.
- 4
Re-shuffle a caixa aleatória se necessário
Se você quer uma variante RaNdOm CaSe diferente para o mesmo texto, clique em Re-shuffle na barra de ações. Só a saída de Random Case muda; o texto de entrada e todas as outras saídas permanecem iguais.
- 5
Limpe quando terminar
Clique em Limpar para esvaziar o editor e resetar cada saída. Exemplo recarrega o texto de demonstração. Todas as ações são instantâneas e nunca enviadas para um servidor.
Erros comuns de conversão de caixa
Tentar converter um parágrafo inteiro para snake_case
Colar uma frase de várias palavras na saída snake_case a colapsa em um identificador gigante — tecnicamente o snake_case correto da entrada, mas nunca o que você realmente quer para um identificador. Use snake_case para um identificador por vez (um único nome de variável ou frase composta). Para texto do tamanho de um parágrafo, use as transformações de caixa de texto.
Entrada: "the quick brown fox jumps over the lazy dog" Saída snake_case: the_quick_brown_fox_jumps_over_the_lazy_dog Resultado: um identificador de 50 caracteres que ninguém quer.
Entrada: "quickBrownFox" Saída snake_case: quick_brown_fox Resultado: um identificador limpo de três tokens.
Esperar regras de Title Case APA
O Title Case desta ferramenta capitaliza cada palavra — `Hello A World Of Examples` em vez do estilo AP `Hello a World of Examples`. Guias de estilo APA, Chicago e AP todos deixam artigos e preposições curtas em minúscula em manchetes. Se você precisa especificamente de manchetes no estilo APA, use uma ferramenta de title-case dedicada. Para capitalização geral (capitalizar cada palavra), este Title Case está correto.
Entrada: "a tale of two cities" Title Case desta ferramenta: A Tale Of Two Cities Esperado (estilo AP): A Tale of Two Cities
Use esta ferramenta para capitalização geral. Use uma ferramenta de manchete no estilo AP para títulos editoriais. Ferramentas diferentes, convenções diferentes.
Assumir que round-trips de PascalCase preservam capitalização de acrônimo
XMLHttpRequest tokeniza para XML / Http / Request e re-PascalCase para XmlHttpRequest. Essa é a convenção (ela permite que o tokenizador faça round-trip de forma limpa), mas se sua base de código preserva a capitalização do acrônimo (mantendo XMLHttpRequest como XMLHttpRequest), o resultado não vai bater. Confira antes de fazer uma renomeação no projeto inteiro.
Entrada: XMLHttpRequest Saída PascalCase: XmlHttpRequest Esperado (acrônimo preservado): XMLHttpRequest
Aceite o acrônimo em title-case, OU Preserve manualmente o acrônimo depois da conversão, OU Use um tokenizador que respeite dicas de acrônimo.
Colar URLs e perder as barras
Colar `https://example.com/api/users` em snake_case retira todas as barras e pontos e produz `https_example_com_api_users` — tecnicamente correto mas inútil como URL. URLs já estão em formato path/case; não as passe por transformações de caixa de programação. Se você quer retirar o protocolo ou host de uma URL, use uma ferramenta de parsing de URL primeiro.
Entrada: https://example.com/api/users Saída snake_case: https_example_com_api_users Resultado: não é mais uma URL.
Entrada: https://example.com/api/users Deixe URLs em paz — elas já estão no formato certo. Para extração de slug, faça o parse do path da URL manualmente.
Confundir dot.case com notação de identificador pontuado
A saída dot.case é `user.profile.image` — tokens em minúscula unidos por pontos literais, adequada para namespacing (pacotes Java, caminhos de campo do MongoDB, chaves TOML). Não é a mesma coisa que a notação de acesso a propriedade do JavaScript (`user.profile.image` parece idêntico mas significa "a propriedade image da propriedade profile de user"). Se você precisa de um caminho de acesso a propriedade, dot.case por coincidência produz a string certa; se você precisa de um identificador de programação, use camelCase ou snake_case em vez disso.
Objetivo: "definir a variável user.profile.image" Usando a saída dot.case como nome de variável: `user.profile.image` Na maioria das linguagens isso é acesso a propriedade, não um identificador.
Para uma única variável: userProfileImage (camelCase). Para uma chave com namespace: user.profile.image (dot.case está certo). Combine a caixa com a sintaxe alvo.
Esperar que Sentence case trate abreviações
Sentence case trata cada `.` seguido por espaço em branco como uma fronteira de frase, incluindo `Mr. Smith arrived.` que vira `Mr. Smith arrived.` corretamente, mas `e.g. this example` vira `E.g. This example` (o `g.` é mal interpretado como terminador de frase). Falsos positivos em abreviações são uma limitação conhecida de todo detector de frase baseado em regex; para precisão editorial, edite a saída à mão.
Entrada: "e.g. this is an example. Read more." Saída Sentence case: "E.g. This is an example. Read more." O `g.` foi tratado erroneamente como terminador de frase.
Rode sentence case primeiro, depois conserte à mão os poucos casos de borda de abreviação. Ou reformule para evitar pontos no meio da frase. (Detecção de frase de nível NLP é uma categoria de ferramenta separada.)
Quem usa esta ferramenta
- Desenvolvedores renomeando identificadores entre linguagens
- Migrando uma variável JS para um nome snake_case Python, ou uma classe CSS para um componente React PascalCase, ou uma variável de ambiente para uma constante de configuração. Cole o nome de origem uma vez, copie a saída certa — sem conversão manual letra por letra.
- Devs backend traduzindo nomes de cabeçalho
- Cabeçalhos HTTP como Content-Type, Access-Control-Allow-Origin, X-Forwarded-For têm grafias Header-Case específicas. Cole um nome de propriedade JS camelCase, copie a forma canônica do cabeçalho — funciona para opções do fetch(), middleware do servidor e configs de proxy.
- Escritores removendo o tom ALL-CAPS de e-mails
- E-mails encaminhados e mensagens de chat em caixa-alta são lidos como gritaria. Cole-os em Sentence case para desarmar o tom, ou em Title Case para manter um ar de manchete polida. Espaço em branco e pontuação sobrevivem intactos.
- Marketeiros rascunhando manchetes
- Title Case para manchetes, Sentence case para corpo de texto e legendas — a convenção que a maioria dos guias de estilo modernos (AP, Google, Apple) recomenda. Veja os dois ao mesmo tempo para comparar qual se encaixa no local.
- Especialistas SEO gerando slugs de URL
- kebab-case é a convenção de slug de URL que todo CMS espera. Cole um título de página com pontuação e capitalização, copie a saída kebab-case — pronta para soltar em um campo de slug do WordPress, Ghost ou Hugo. O tokenizador retira a pontuação de forma limpa.
- DBAs nomeando colunas e tabelas
- snake_case para nomes de coluna e tabela é a convenção universal em PostgreSQL, MySQL, SQLite e na maioria dos ORMs. Cole um rótulo legível ou um nome de campo de API em camelCase, copie a versão snake_case.
- Devs frontend escrevendo classes CSS
- kebab-case para nomes de classe é a convenção da spec CSS (BEM, utilitários Tailwind e a maioria dos design systems). Cole um nome de componente JS em camelCase, copie a versão kebab-case para o módulo CSS correspondente.
- Fazedores de memes e entusiastas de sarcasmo
- aLtErNaTiNg cAsE e RaNdOm CaSe são os formatos do meme do bob esponja usados para zombar ou citar com sarcasmo. Re-shuffle re-roleia a variante aleatória sem mudar a entrada — gere algumas até uma parecer certa.
Regras de tokenização e conversão
- Regras de tokenização
- Tokens são extraídos inserindo um espaço em quatro fronteiras: minúscula para maiúscula (parseHTML → parse HTML), maiúscula para maiúscula para minúscula (XMLHttp → XML Http), letra para dígito (file2 → file 2) e dígito para letra (2x → 2 x). Depois separadores comuns (espaço em branco, hífen, underscore, ponto, barra, contrabarra) são colapsados em espaços únicos. Os tokens resultantes são divididos, aparados e os vazios descartados. Isso bate com as convenções do lodash e do pacote change-case.
- Saídas de caixa de programação retiram pontuação
- camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, path/case e Header-Case todos produzem identificadores limpos — pontuação na entrada (vírgulas, pontos, parênteses) é descartada porque não pode aparecer na maioria dos identificadores de linguagem. Se você precisa preservar a pontuação, use uma das saídas de caixa de texto (UPPERCASE, lowercase, Title, Sentence, iNVERSE, aLtErNaTiNg, RaNdOm).
- Saídas de caixa de texto preservam tudo
- UPPERCASE, lowercase, Title Case, Sentence case, iNVERSE cASE, aLtErNaTiNg cAsE e RaNdOm CaSe todos preservam espaço em branco, quebras de linha e pontuação. Cole um documento de vários parágrafos e a estrutura sobrevive — só a capitalização das letras muda. Essas transformações operam caractere a caractere sem tokenização.
- Title Case (variante ingênua)
- Title Case nesta ferramenta capitaliza a primeira letra de cada palavra separada por espaço em branco e deixa o resto em minúscula. Guias de estilo APA, Chicago e AP recomendam deixar artigos e preposições curtas (a, an, the, of, in, for) em minúscula; essas variantes são diferentes o bastante para merecer uma ferramenta dedicada. Use este Title Case para capitalização geral; use uma ferramenta específica de manchete para manchetes no estilo AP.
- Detecção de fronteira de Sentence case
- Sentence case deixa tudo em minúsculas, depois capitaliza a primeira letra da entrada e a primeira letra após qualquer terminador de frase (. ! ? 。 ! ?) seguido por espaço em branco. O detector não tenta desambiguar abreviações como Mr. ou U.S.A. — falsos positivos ali são mais barulhentos do que a caixa raramente perdida.
- Alternating Case usa um toggle global
- aLtErNaTiNg cAsE vira entre minúscula e maiúscula para cada letra, com um toggle global que segue entre fronteiras de palavra. Caracteres não-letra não avançam o toggle. Isso bate com a convenção usada pelo convertcase.net e outros geradores de meme — previsível e reproduzível para a mesma entrada.
- Random Case usa Math.random()
- RaNdOm CaSe roda um cara-ou-coroa independente por letra usando Math.random(). Cada clique de Re-shuffle produz um resultado diferente. A fonte aleatória não é criptograficamente forte; serve para texto casual mas não use para geração de senha (use o gerador de senha dedicado para isso).
- Mapeamentos de caixa cientes de Unicode e locale
- Usa `toLocaleLowerCase()` e `toLocaleUpperCase()` para que İ/ı com e sem ponto do turco, ß alemão (em maiúscula vira SS no tratamento padrão) e outros mapeamentos de caixa sensíveis à locale sejam tratados corretamente. A tokenização usa \p{L} para reconhecer letras de qualquer script. Saídas de caixa de programação usam por padrão caracteres de identificador ASCII para compatibilidade entre linguagens.
Boas práticas para escolher uma caixa
- Escolha a caixa que combina com sua base de código
- A caixa certa para um nome de variável não é a mais bonita — é a que sua base de código já usa. JavaScript e Java: camelCase para variáveis e métodos, PascalCase para classes. Python, Ruby, Rust: snake_case para tudo exceto nomes de classe (que são PascalCase). CSS e URLs: kebab-case. Variáveis de ambiente e constantes: CONSTANT_CASE. Combine com a convenção local; consistência ganha de correção teórica.
- Use Sentence case para microcopy de UI
- Os design systems do Google, Apple e Microsoft todos padronizaram em Sentence case para rótulos de botão, itens de menu, texto de diálogo e outros microcopy de UI na última década. Title Case em UI agora se lê como antiquado e levemente gritado. Reserve Title Case para manchetes principais, títulos de página e títulos de livro.
- Retire aspas inteligentes antes de colar
- Colar do Microsoft Word, Google Docs ou Apple Notes pode trazer aspas inteligentes (“”), travessões (—) e outros caracteres tipográficos que parecem idênticos ao ASCII mas codificam diferente. As transformações de caixa lidam com eles corretamente, mas se você está convertendo para um identificador de caixa de programação, substitua manualmente pelos equivalentes ASCII primeiro para evitar surpresas no seu editor de código.
- Converta um identificador por vez para caixas de programação
- camelCase, snake_case, kebab-case etc. produzem um único identificador a partir da entrada inteira. Se você cola uma frase em snake_case, recebe um identificador longão — tecnicamente correto mas raramente o que você quer. Para conversão de identificador, cole uma palavra ou composto por vez. Para texto do tamanho de um parágrafo, use as transformações de caixa de texto.
- Verifique os round-trips de acrônimos antes de refatorar
- XMLHttpRequest → xml_http_request → XmlHttpRequest é o round-trip padrão; o acrônimo vira title-case no caminho de volta. Se sua base de código preserva a capitalização original do acrônimo (XmlHttpRequest fica como XMLHttpRequest), o round-trip não vai bater exatamente. Confira algumas conversões antes de fazer uma renomeação no projeto inteiro.
- Use Header-Case para HTTP/1.1, kebab-case para HTTP/2
- HTTP/1.1 é case-insensitive para nomes de cabeçalho, mas Header-Case (Content-Type, X-Forwarded-For) é a grafia legível convencional que todo mundo usa. HTTP/2 exige explicitamente nomes de cabeçalho em minúsculas — use kebab-case para esses (content-type, x-forwarded-for). Na dúvida, kebab-case funciona nos dois protocolos.
- Re-shuffle Random Case por variedade, não por segurança
- Random Case é divertido para memes mas não é aleatório no sentido criptográfico — usa Math.random(), que serve para variedade visual mas não para qualquer coisa onde aleatoriedade importa (geração de senha, tokens de segurança, teste A/B). Use o gerador de senha dedicado para aleatoriedade criptográfica.
Perguntas frequentes
O que um conversor de maiúsculas e minúsculas faz?
Qual é a diferença entre camelCase, PascalCase e snake_case?
Como o tokenizador trata acrônimos como XMLHttpRequest ou parseHTML?
O que é Title Case versus Sentence case?
Meu texto é enviado para algum lugar?
Como converto texto para camelCase a partir de qualquer outra caixa?
A ferramenta suporta Unicode e letras não-inglesas?
Qual é a diferença entre dot.case e path/case?
Por que o tokenizador divide em números (file2x → file, 2, x)?
Como alternating case é diferente de random case?
Isto converte nomes de cabeçalhos HTTP?
Posso converter um parágrafo inteiro de uma vez?
Quão preciso isso é comparado ao lodash, change-case ou outras bibliotecas de caixa?
Por que existem tanto Sentence case quanto Title Case se eles parecem similares?
Ferramentas relacionadas
Ver todas as ferramentas →Testador Regex Grátis — Depure e Combine Padrões Online
Processamento de Texto
Teste padrões de expressões regulares instantaneamente contra qualquer texto. Destaque ao vivo, grupos de captura, prévia de substituição, divisão e explicador. Regex JavaScript, 100% privado, sem cadastro, grátis e online.
Comparar dois textos — Diff
Processamento de Texto
Compare dois textos na hora no seu navegador. Vista lado a lado, destaque palavra a palavra, exportação para diff unificado, opções para ignorar maiúsculas/espaços/linhas vazias. 100 % navegador — sem upload.
Contador de Palavras e Caracteres Grátis
Processamento de Texto
Conte palavras, caracteres, frases, parágrafos e tempo de leitura instantaneamente. Contador em tempo real com verificação de limites do Twitter, meta description e Instagram. Grátis, privado, sem cadastro.
Conversor de Base Numérica — Binário, Hex, Decimal e Octal
Ferramentas de Conversão
Converta números entre binário, hexadecimal, decimal, octal e qualquer base personalizada (2-36) instantaneamente. Gratuito, privado, sem cadastro — todo o processamento acontece no seu navegador.
Decodificador e Codificador Base64
Codificação e Formatação
Decodifique e codifique Base64 online gratuitamente. Conversão em tempo real com suporte completo a UTF-8 e emoji. 100% privado — executa no seu navegador. Sem necessidade de cadastro.
Gerador Crontab e Construtor de Expressão Cron
Data e Hora
Crie, valide e decodifique expressões cron no navegador. Pré-visualização ao vivo da próxima execução em horário local ou UTC. Sintaxe POSIX de 5 campos, presets, descrição em linguagem clara. Grátis, privado, sem cadastro.