Conversor de Maiúsculas
Converta maiúsculas/minúsculas de texto rapidamente com múltiplas convenções de nomenclatura
Selecione Modo de Conversão
O que é Conversão de Maiúsculas/Minúsculas?
Conversão de maiúsculas/minúsculas transforma caracteres alfabéticos para diferentes formas de caso. Além de maiúsculas, minúsculas e capitalização básicas, suporta várias convenções de nomenclatura de programação como camelCase, PascalCase, snake_case, etc. Estas conversões são úteis para programadores e editores rapidamente padronizarem formatos de texto ou converterem estilos de nomenclatura de variáveis. Text Case converte texto entre maiúsculas, minúsculas, title case, sentence case, camelCase, kebab-case, snake_case e estilos relacionados. Ele é útil para títulos, nomes de arquivos, variáveis, slugs, campos de tabela, rótulos e copyediting. Idioma e contexto ainda importam: nomes próprios, acrônimos, substantivos alemães, marcas e termos técnicos podem ser prejudicados por conversão automática. Em textos públicos, identificadores de código ou strings localizadas, revise antes de usar.
Como Usar
Operações Básicas
- Insira ou cole o texto a converter na caixa de entrada à esquerda
- Clique no botão correspondente para selecionar o modo de conversão
- O lado direito mostra automaticamente o resultado convertido
- Clique em 'Copiar' para copiar o resultado para a área de transferência
Regras de Texto
- A conversão de maiúsculas e minúsculas funciona melhor para texto latino simples; nomes, siglas, identificadores de código e letras específicas de locale podem exigir revisão manual.
- Antes de substituir textos em produção, verifique se pontuação, espaços e limites de palavras foram preservados.
Casos de uso
Princípio técnico
Maiúsculas e minúsculas não são trocas simples de ASCII. JavaScript expõe toUpperCase, toLowerCase e as variantes com suporte a locale toLocaleUpperCase/toLocaleLowerCase. O clássico problema turco é 'I'.toLocaleLowerCase('tr-TR') retornando o 'ı' sem ponto (U+0131) em vez de 'i', e 'i'.toLocaleUpperCase('tr-TR') retornando o 'İ' com ponto (U+0130). O 'ß' alemão em maiúsculas se torna 'SS' no locale padrão, mas o eszett maiúsculo 'ẞ' (U+1E9E) em 'de-DE-x-eszett'. A ferramenta roda no locale padrão a menos que o usuário opte por outro, o que corresponde ao que a maioria dos identificadores de código espera. Camel, Pascal, snake, kebab, constant, dot e path case começam dividindo a entrada em tokens de palavras. Limites de palavras são detectados em espaços em branco, hífens, underscores, pontos, barras e em qualquer transição de minúscula para maiúscula (então 'userProfileID' se divide em ['user', 'Profile', 'ID']). A lista de tokens é então convertida para minúsculas, capitalizada conforme o estilo e unida com o separador alvo: '' para camelCase e PascalCase, '_' para snake_case, '-' para kebab-case, '_' com maiúsculas para CONSTANT_CASE, '.' para dot.case e '/' para path/case. Sentence case capitaliza apenas a primeira letra após um sinal de pontuação final de frase (., !, ?) seguido de espaço em branco, enquanto Title Case capitaliza a primeira letra de cada palavra e coloca o restante em minúsculas. O Unicode possui pontos de código dedicados para titlecase, como o dígrafo 'Dž' (U+01C5), que não é nem o minúsculo 'dž' nem o maiúsculo 'DŽ', e os métodos padrão de String.prototype não o produzem; bibliotecas especializadas são necessárias para title casing Unicode completo. A geração de slugs de URL precisa de uma passagem de normalização adicional — NFKD mais remoção de marcas combinatórias — para transformar 'café' em 'cafe' antes da junção kebab-case.
- Problemas de locale: 'I'.toLocaleLowerCase('tr-TR') = 'ı'; 'i'.toLocaleUpperCase('tr-TR') = 'İ'; 'ß' alemão em maiúsculas é 'SS' por padrão, 'ẞ' em de-DE-x-eszett
- Divisão de palavras: tokenização em espaços em branco, '-', '_', '.', '/' e em transições de minúscula para maiúscula ('userProfileID' -> ['user','Profile','ID'])
- Montagem de estilo: camelCase = minúscula primeira + capitaliza restante, une ''; PascalCase = capitaliza todas, une ''; snake = '_'; kebab = '-'
- CONSTANT_CASE / SCREAMING_SNAKE: snake_case passado por toUpperCase, comum para chaves de variáveis de ambiente
- Sentence case: capitaliza primeira letra após [.!?] mais espaço em branco; todo o resto em minúsculas
- Titlecase Unicode: pontos de código dedicados como 'Dž' (U+01C5) existem mas os métodos de String.prototype não os produzem
- Pipeline de slugify: str.normalize('NFKD').replace(/\p{M}+/gu, '') remove diacríticos para que 'café' se torne 'cafe' antes do kebab-case
Exemplos
Converter 'hello world' em todos os formatos comuns
Entrada: hello world
UPPERCASE: HELLO WORLD
lowercase: hello world
Capitalize: Hello World
Sentence case: Hello world
camelCase: helloWorld
PascalCase: HelloWorld
snake_case: hello_world
kebab-case: hello-world
CONSTANT_CASE: HELLO_WORLD
dot.case: hello.world
path/case: hello/worldRefatorar uma variável JavaScript para snake_case do Python
Entrada: userProfileSettings
Saída em snake_case: user_profile_settings
CONSTANT_CASE: USER_PROFILE_SETTINGS
# Útil ao portar código entre
# JavaScript (camelCase) e Python (snake_case).Transformar o título de um artigo em slug de URL
Entrada: My First Blog Post: A Beginner's Guide!
kebab-case: my-first-blog-post-a-beginners-guide
URL final: https://blog.example.com/my-first-blog-post-a-beginners-guideAlternar maiúsculas/minúsculas para texto estilizado
Entrada: Hello World
tOGGLE: hELLO wORLD
Entrada: ToolAct Online
tOGGLE: tOOLaCT oNLINEPerguntas frequentes
Quais estilos de capitalização são suportados?
MAIÚSCULAS, minúsculas, Title Case (Cada Palavra Capitalizada), Sentence case (apenas a primeira letra), camelCase (primeiraPalavraMinúscula), PascalCase (PrimeiraPalavraMaiúscula), snake_case, kebab-case, CONSTANT_CASE. A página faz cada um em tempo real.
Qual é a diferença entre Title Case e Sentence case?
Title Case capitaliza cada palavra significativa: 'The Quick Brown Fox'. Sentence case capitaliza apenas a primeira palavra e nomes próprios: 'The quick brown fox'. Title Case tem variações de estilo — alguns pulam palavras curtas (a, an, the, of, in) — a página normalmente usa estilo APA ou AP; verifique a lista de opções.
Como caracteres CJK são tratados?
Caracteres chineses, japoneses e coreanos não têm caixa, então passam inalterados. Texto misto CJK + Latin altera apenas as partes em Latin. Romaji (transcrição em Latin do japonês), pinyin (transcrição em Latin do chinês) e romanização coreana mudam normalmente.
Ele lida com caracteres acentuados?
Sim — é → É, ñ → Ñ, ß → SS (eszett alemão em maiúscula, dependendo das regras Unicode). Alguns sistemas legados mapeiam ß para SS; o Unicode moderno permite ẞ. A página usa os métodos toLowerCase/toUpperCase nativos do JavaScript, que seguem o case folding Unicode.
Por que o I turco se comporta de forma estranha?
O turco tem ı sem ponto e i com ponto — no locale turco, o I minúsculo é ı (sem ponto), não i. O upper/lower padrão do JavaScript não aplica regras de locale. Use String.prototype.toLocaleLowerCase('tr') no código se a capitalização turca importar.
Posso converter de snake_case de volta para Title Case?
Sim. O detector reconhece estilos comuns e converte entre quaisquer dois: snake_case → kebab-case, PascalCase → camelCase etc. Acrônimos em PascalCase (ex.: HTMLParser) às vezes não fazem round-trip limpo via snake_case — depende de a página tratar maiúsculas consecutivas como uma palavra ou várias.
Meu texto é enviado para algum servidor?
Não. A conversão roda no seu navegador usando métodos de string do JavaScript. O texto colado não é transmitido.