Conversor de Capitalização

Converta texto entre maiúsculas, minúsculas, title case, camelCase, snake_case e mais

Experimente um exemplo

Entrada

Saída

Roda localmente · Seguro para colar segredos
O texto convertido aparecerá aqui…

O Que É Conversão de Capitalização de Texto?

A conversão de capitalização de texto é o processo de alterar o padrão de letras maiúsculas/minúsculas ou de separação de palavras em uma string. Um conversor de capitalização recebe uma entrada como "hello world" e a transforma em UPPERCASE, lowercase, Title Case, camelCase, snake_case, kebab-case ou outras convenções. A transformação é simples para texto ASCII básico, mas casos especiais surgem com siglas ("XMLParser"), regras específicas de localidade (I pontilhado do turco) e strings com múltiplos alfabetos.

Linguagens de programação, sistemas de arquivos e guias de estilo cada um impõe suas próprias convenções de nomenclatura. Variáveis JavaScript normalmente usam camelCase. Funções e variáveis Python seguem snake_case conforme o PEP 8. Nomes de classes CSS usam kebab-case. Colunas de banco de dados variam por equipe, mas snake_case domina no PostgreSQL e MySQL. Alternar entre essas convenções manualmente é lento e sujeito a erros, especialmente ao renomear variáveis em dezenas de arquivos.

As convenções de capitalização também importam fora do código. Title Case segue regras definidas por guias de estilo como o Chicago Manual of Style e a APA, onde artigos e preposições curtas ficam em minúsculas a menos que iniciem a frase. Sentence case capitaliza apenas a primeira palavra e substantivos próprios. A publicação em inglês americano adota Title Case para títulos; a maioria da documentação europeia e de tecnologia usa Sentence case.

Por Que Usar Este Conversor de Capitalização?

Cole qualquer texto e converta-o entre nove formatos de capitalização instantaneamente, sem instalar uma extensão do VS Code ou escrever um script avulso.

Conversão Imediata
Selecione um formato de capitalização e veja o resultado na hora. Sem ida e volta ao servidor, sem espera. Alterne entre formatos para comparar o resultado lado a lado.
🔒
Processamento com Privacidade
Todas as transformações são executadas no navegador com JavaScript. Seu texto permanece no seu dispositivo. Nada é enviado a um servidor ou armazenado em qualquer lugar.
🔄
Nove Formatos em Uma Ferramenta
UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case e CONSTANT_CASE. Uma única entrada cobre todas as convenções comuns.
🌍
Sem Conta Necessária
Abra a página e comece a converter. Sem cadastro, sem extensão de navegador, sem instalação. Funciona em qualquer dispositivo com um navegador moderno.

Casos de Uso do Conversor de Capitalização

Desenvolvimento Frontend
Converta nomes de props de componentes de snake_case (respostas de API) para camelCase em objetos JavaScript. Renomeie classes CSS de camelCase para kebab-case ao migrar para um sistema de nomenclatura BEM ou utility-first.
Design de APIs Backend
Traduza nomes de campos entre convenções ao mapear colunas de banco de dados (snake_case) para chaves de resposta JSON (camelCase). Verifique se as camadas de serialização produzem o formato de saída esperado.
DevOps e Infraestrutura
Gere nomes de variáveis de ambiente em CONSTANT_CASE a partir de frases descritivas. Converta nomes de recursos Terraform entre snake_case e kebab-case ao alinhar com guias de estilo da equipe.
QA e Automação de Testes
Prepare dados de fixtures de testes com nomes de campos corretamente capitalizados. Identifique divergências de capitalização entre contratos de API e expectativas do cliente antes que cheguem a produção.
Engenharia de Dados
Normalize cabeçalhos de colunas ao importar arquivos CSV ou Excel para um banco de dados. Converta cabeçalhos com capitalização mista como "First Name" para colunas snake_case como "first_name", garantindo um schema consistente.
Escrita Técnica e Documentação
Formate referências de código na documentação com a capitalização correta. Converta descrições em linguagem natural para nomes de classes PascalCase ou slugs de URL em kebab-case, garantindo consistência nas especificações técnicas.

Referência de Convenções de Capitalização

Cada convenção de nomenclatura tem regras específicas de capitalização e separação de palavras. A tabela abaixo mostra os nove formatos suportados por esta ferramenta, usando a frase "the quick brown fox" como referência.

FormatoRegraExemplo
UPPERCASEEvery letter capitalizedTHE QUICK BROWN FOX
lowercaseEvery letter lowercasedthe quick brown fox
Title CaseFirst letter of each word capitalizedThe Quick Brown Fox
Sentence caseFirst letter of each sentence capitalizedThe quick brown fox
camelCaseNo separators, first word lowercasetheQuickBrownFox
PascalCaseNo separators, every word capitalizedTheQuickBrownFox
snake_caseWords joined by underscores, all lowercasethe_quick_brown_fox
kebab-caseWords joined by hyphens, all lowercasethe-quick-brown-fox
CONSTANT_CASEWords joined by underscores, all uppercaseTHE_QUICK_BROWN_FOX

camelCase vs snake_case vs kebab-case

Essas três convenções dominam no desenvolvimento de software, mas cada uma pertence a um ecossistema diferente. Escolher a errada quebra linters, viola contratos de API ou gera bases de código inconsistentes.

camelCase
Padrão para variáveis, nomes de funções e chaves de objetos em JavaScript e TypeScript. Java e C# o usam para variáveis locais e parâmetros de métodos. APIs JSON criadas para clientes JavaScript normalmente usam chaves camelCase. A primeira palavra fica em minúsculas; cada palavra subsequente começa com letra maiúscula.
snake_case
Padrão para Python (PEP 8), Ruby, Rust e a maioria dos bancos de dados SQL. Funções da biblioteca padrão do C também seguem esse padrão. As palavras são separadas por underscores, todas em minúsculas. CONSTANT_CASE (tudo em maiúsculas com underscores) é a variante usada para constantes e variáveis de ambiente.
kebab-case
Padrão para nomes de classes CSS, atributos HTML, slugs de URL e nomes de flags de CLI (--output-dir). Comum em Lisp e Clojure. As palavras são separadas por hífens, todas em minúsculas. A maioria das linguagens de programação não permite hífens em identificadores, então kebab-case fica restrito a strings, nomes de arquivos e marcação.

Exemplos de Código

Como converter entre convenções de capitalização de forma programática. Cada exemplo cobre as transformações mais comuns: camelCase para snake_case, snake_case para camelCase, e conversões básicas de maiúsculas/minúsculas e title case.

JavaScript
// camelCase → snake_case
function toSnakeCase(str) {
  return str
    .replace(/([a-z])([A-Z])/g, '$1_$2')
    .replace(/[\s-]+/g, '_')
    .toLowerCase()
}
toSnakeCase('myVariableName')  // → "my_variable_name"
toSnakeCase('kebab-case-str')  // → "kebab_case_str"

// snake_case → camelCase
function toCamelCase(str) {
  return str
    .toLowerCase()
    .replace(/[_-](\w)/g, (_, c) => c.toUpperCase())
}
toCamelCase('my_variable_name')  // → "myVariableName"

// Title Case
function toTitleCase(str) {
  return str.replace(/\w\S*/g, w =>
    w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()
  )
}
toTitleCase('the quick brown fox')  // → "The Quick Brown Fox"
Python
import re

text = "the quick brown fox"

# UPPERCASE / lowercase
text.upper()  # → "THE QUICK BROWN FOX"
text.lower()  # → "the quick brown fox"

# Title Case
text.title()  # → "The Quick Brown Fox"

# camelCase
def to_camel(s):
    words = re.split(r'[\s_-]+', s)
    return words[0].lower() + ''.join(w.capitalize() for w in words[1:])

to_camel("my_variable_name")  # → "myVariableName"

# snake_case from camelCase
def to_snake(s):
    return re.sub(r'([a-z])([A-Z])', r'\1_\2', s).lower()

to_snake("myVariableName")  # → "my_variable_name"

# kebab-case
def to_kebab(s):
    return re.sub(r'([a-z])([A-Z])', r'\1-\2', s).replace('_', '-').lower()

to_kebab("myVariableName")  # → "my-variable-name"
Go
package main

import (
	"fmt"
	"regexp"
	"strings"
)

// camelCase → snake_case
func toSnake(s string) string {
	re := regexp.MustCompile("([a-z])([A-Z])")
	snake := re.ReplaceAllString(s, "${1}_${2}")
	return strings.ToLower(snake)
}

// snake_case → camelCase
func toCamel(s string) string {
	parts := strings.Split(strings.ToLower(s), "_")
	for i := 1; i < len(parts); i++ {
		parts[i] = strings.Title(parts[i])
	}
	return strings.Join(parts, "")
}

func main() {
	fmt.Println(toSnake("myVariableName"))  // → my_variable_name
	fmt.Println(toCamel("my_variable_name")) // → myVariableName
	fmt.Println(strings.ToUpper("hello"))    // → HELLO
	fmt.Println(strings.ToUpper("hello world")) // → HELLO WORLD
}
CLI (bash / sed)
# UPPERCASE
echo "hello world" | tr '[:lower:]' '[:upper:]'
# → HELLO WORLD

# lowercase
echo "HELLO WORLD" | tr '[:upper:]' '[:lower:]'
# → hello world

# camelCase → snake_case (using sed)
echo "myVariableName" | sed 's/\([a-z]\)\([A-Z]\)/\1_\2/g' | tr '[:upper:]' '[:lower:]'
# → my_variable_name

# snake_case → kebab-case
echo "my_variable_name" | tr '_' '-'
# → my-variable-name

Perguntas Frequentes

Qual é a diferença entre camelCase e PascalCase?
camelCase começa com letra minúscula (minhaVariavel), enquanto PascalCase começa com letra maiúscula (MinhaVariavel). Em JavaScript, camelCase é usado para variáveis e funções; PascalCase é usado para nomes de classes e componentes React. C# usa PascalCase para métodos e propriedades públicas. A única diferença estrutural é o primeiro caractere.
Como converter camelCase para snake_case em JavaScript?
Insira um underscore antes de cada letra maiúscula usando uma regex e depois coloque tudo em minúsculas: str.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase(). Isso funciona para camelCase padrão. Para strings com letras maiúsculas consecutivas como "XMLParser", você precisa de uma passagem adicional de regex para separar corretamente as sequências de maiúsculas.
Por que Python usa snake_case em vez de camelCase?
O PEP 8, guia de estilo oficial do Python publicado em 2001, escolheu snake_case para funções e variáveis porque Guido van Rossum e o time principal o consideraram mais legível à primeira vista. Estudos como o de Binkley et al. (2009) constataram que identificadores snake_case eram reconhecidos mais rapidamente por programadores do que camelCase em certas tarefas de leitura. A convenção é aplicada por linters como flake8 e pylint.
Title Case é o mesmo que capitalizar cada palavra?
Title Case simples capitaliza a primeira letra de cada palavra, e é isso que esta ferramenta faz. Title Case formal (AP, Chicago, APA) tem regras adicionais: artigos (a, an, the), conjunções curtas (and, but, or) e preposições curtas (in, on, at) ficam em minúsculas, a menos que sejam a primeira ou a última palavra. A capitalização formal de títulos requer busca em dicionário, não apenas uma transformação a nível de caracteres.
Esta ferramenta suporta Unicode e alfabetos não latinos?
A ferramenta usa os métodos nativos toUpperCase() e toLowerCase() do JavaScript, que seguem as regras de capitalização Unicode definidas no Unicode Standard (Capítulo 3, Seção 3.13). Isso trata corretamente caracteres acentuados (é para É), o eszett alemão (ss para SS) e letras gregas. No entanto, regras específicas de localidade como a capitalização turca (onde o i minúsculo deve virar İ com ponto, não I) dependem da configuração de localidade do navegador, não da ferramenta.
Para que serve CONSTANT_CASE?
CONSTANT_CASE (também chamado SCREAMING_SNAKE_CASE) é usado para constantes e variáveis de ambiente. Em JavaScript: const MAX_RETRIES = 3. Em Python: MAX_RETRIES = 3 (por convenção, já que Python não tem constantes verdadeiras). Em scripts shell: export DATABASE_URL=.... O estilo em maiúsculas sinaliza que um valor não deve ser reatribuído após a inicialização.
Como escolho a convenção de capitalização certa para meu projeto?
Siga a convenção dominante para sua linguagem e framework. JavaScript/TypeScript: camelCase para variáveis, PascalCase para classes e componentes. Python: snake_case para funções e variáveis, PascalCase para classes. CSS: kebab-case. SQL: snake_case para colunas e tabelas. Chaves JSON de APIs REST: combine com a linguagem do frontend (camelCase para clientes JS, snake_case para clientes Python). Em caso de dúvida, verifique a configuração do linter ou o .editorconfig na raiz do projeto.