La conversión de mayúsculas y minúsculas es el proceso de cambiar el uso de letras o el patrón de separación de palabras de una cadena de texto. Un convertidor toma una entrada como "hello world" y la transforma en UPPERCASE, lowercase, Title Case, camelCase, snake_case, kebab-case u otras convenciones. La transformación es sencilla para texto ASCII simple, pero surgen casos especiales con acrónimos ("XMLParser"), reglas específicas por idioma (la i turca con punto) y cadenas con varios sistemas de escritura.
Los lenguajes de programación, los sistemas de archivos y las guías de estilo imponen sus propias convenciones de nomenclatura. Las variables de JavaScript normalmente usan camelCase. Las funciones y variables de Python siguen snake_case según PEP 8. Los nombres de clases CSS usan kebab-case. Las columnas de bases de datos varían según el equipo, pero snake_case domina en PostgreSQL y MySQL. Cambiar manualmente entre estas convenciones es lento y propenso a errores, especialmente al renombrar en decenas de archivos.
Las convenciones de escritura también importan fuera del código. Title Case sigue reglas definidas por guías de estilo como el Chicago Manual of Style y la APA, donde los artículos y las preposiciones cortas se escriben en minúscula salvo que inicien la oración. Sentence case solo capitaliza la primera palabra y los nombres propios. El inglés americano usa Title Case por defecto en titulares; la mayoría de la documentación europea y tecnológica usa Sentence case.
¿Por qué usar este convertidor?
Pega cualquier texto y conviértelo entre nueve formatos de escritura al instante, sin instalar una extensión de VS Code ni escribir un script de un solo uso.
⚡
Conversión instantánea
Selecciona un formato y ve el resultado de inmediato. Sin envíos al servidor, sin esperas. Cambia entre formatos para comparar el resultado lado a lado.
🔒
Procesamiento privado
Todas las transformaciones se ejecutan en tu navegador con JavaScript. Tu texto permanece en tu dispositivo. Nada se envía a un servidor ni se almacena en ningún lugar.
🔄
Nueve formatos en una sola herramienta
UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case y CONSTANT_CASE. Una entrada cubre todas las convenciones habituales.
🌍
Sin cuenta necesaria
Abre la página y empieza a convertir. Sin registro, sin extensión de navegador, sin instalación en escritorio. Funciona en cualquier dispositivo con un navegador moderno.
Casos de uso del convertidor
Desarrollo frontend
Convierte nombres de props de componentes desde respuestas API en snake_case a camelCase para objetos JavaScript. Renombra clases CSS de camelCase a kebab-case al migrar a un sistema de nomenclatura BEM o utility-first.
Diseño de API backend
Traduce nombres de campos entre convenciones al mapear columnas de base de datos (snake_case) a claves de respuesta JSON (camelCase). Verifica que las capas de serialización producen el formato de salida esperado.
DevOps e infraestructura
Genera nombres de variables de entorno en CONSTANT_CASE a partir de frases descriptivas. Convierte nombres de recursos de Terraform entre snake_case y kebab-case para alinearlos con las guías de estilo del equipo.
QA y automatización de pruebas
Prepara datos de fixtures de prueba con nombres de campos correctamente escritos. Detecta discrepancias de escritura entre los contratos de API y las expectativas del cliente antes de que lleguen a producción.
Ingeniería de datos
Normaliza encabezados de columnas al importar archivos CSV o Excel en una base de datos. Convierte encabezados con mayúsculas mixtas como "Nombre Apellido" en columnas snake_case como "nombre_apellido" para un diseño de esquema coherente.
Redacción técnica y documentación
Da formato a las referencias de código en la documentación con la escritura correcta. Convierte descripciones en lenguaje natural a nombres de clases PascalCase o slugs de URL en kebab-case para mantener coherencia en especificaciones técnicas.
Referencia de convenciones de escritura
Cada convención de nomenclatura tiene reglas específicas para la capitalización y la separación de palabras. La tabla siguiente muestra los nueve formatos que admite esta herramienta, usando la frase "the quick brown fox" como referencia.
Formato
Regla
Ejemplo
UPPERCASE
Every letter capitalized
THE QUICK BROWN FOX
lowercase
Every letter lowercased
the quick brown fox
Title Case
First letter of each word capitalized
The Quick Brown Fox
Sentence case
First letter of each sentence capitalized
The quick brown fox
camelCase
No separators, first word lowercase
theQuickBrownFox
PascalCase
No separators, every word capitalized
TheQuickBrownFox
snake_case
Words joined by underscores, all lowercase
the_quick_brown_fox
kebab-case
Words joined by hyphens, all lowercase
the-quick-brown-fox
CONSTANT_CASE
Words joined by underscores, all uppercase
THE_QUICK_BROWN_FOX
camelCase vs snake_case vs kebab-case
Estas tres convenciones dominan en el desarrollo de software, pero cada una pertenece a un ecosistema diferente. Elegir la incorrecta rompe los linters, viola los contratos de API o genera bases de código inconsistentes.
camelCase
Estándar para variables, nombres de funciones y claves de objetos en JavaScript y TypeScript. Java y C# lo usan para variables locales y parámetros de métodos. Las API JSON diseñadas para clientes JavaScript suelen usar claves camelCase. La primera palabra va en minúscula; cada palabra siguiente comienza con mayúscula.
snake_case
Por defecto en Python (PEP 8), Ruby, Rust y la mayoría de bases de datos SQL. Las funciones de la biblioteca estándar de C también siguen este patrón. Las palabras se separan con guiones bajos, todo en minúsculas. CONSTANT_CASE (todo en mayúsculas con guiones bajos) es la variante usada para constantes y variables de entorno.
kebab-case
Estándar para nombres de clases CSS, atributos HTML, slugs de URL y nombres de flags de CLI (--output-dir). Común en Lisp y Clojure. Las palabras se separan con guiones, todo en minúsculas. La mayoría de los lenguajes de programación no permiten guiones en identificadores, por lo que kebab-case queda restringido a cadenas, nombres de archivos y marcado.
Ejemplos de código
Cómo convertir entre convenciones de escritura de forma programática. Cada ejemplo cubre las transformaciones más comunes: camelCase a snake_case, snake_case a camelCase, y conversiones básicas de mayúsculas, minúsculas y 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"
¿Cuál es la diferencia entre camelCase y PascalCase?
camelCase empieza con letra minúscula (miVariable), mientras que PascalCase empieza con letra mayúscula (MiVariable). En JavaScript, camelCase se usa para variables y funciones; PascalCase se usa para nombres de clases y componentes React. C# usa PascalCase para métodos y propiedades públicas. La única diferencia estructural es el primer carácter.
¿Cómo convierto camelCase a snake_case en JavaScript?
Inserta un guion bajo antes de cada letra mayúscula usando una expresión regular y luego pasa el resultado a minúsculas: str.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase(). Esto funciona para camelCase estándar. Para cadenas con letras mayúsculas consecutivas como "XMLParser", necesitas un paso de regex adicional para dividir correctamente las secuencias de mayúsculas.
¿Por qué Python usa snake_case en lugar de camelCase?
PEP 8, la guía de estilo oficial de Python publicada en 2001, eligió snake_case para funciones y variables porque Guido van Rossum y el equipo central lo consideraron más legible a simple vista. Estudios como el de Binkley et al. (2009) encontraron que los identificadores snake_case eran reconocidos más rápido por los programadores que camelCase en ciertas tareas de lectura. La convención la aplican linters como flake8 y pylint.
¿Title Case es lo mismo que capitalizar cada palabra?
El Title Case simple capitaliza la primera letra de cada palabra, que es lo que hace esta herramienta. El Title Case formal (AP, Chicago, APA) tiene reglas adicionales: artículos (a, an, the), conjunciones cortas (and, but, or) y preposiciones cortas (in, on, at) se escriben en minúscula salvo que sean la primera o última palabra. El Title Case formal requiere un diccionario de consulta, no solo una transformación a nivel de caracteres.
¿Puede esta herramienta manejar Unicode y scripts no latinos?
La herramienta usa los métodos integrados de JavaScript toUpperCase() y toLowerCase(), que siguen las reglas de mayúsculas y minúsculas definidas en el Estándar Unicode (Capítulo 3, Sección 3.13). Esto maneja correctamente caracteres acentuados (é → É), la eszett alemana (ss → SS) y letras griegas. Sin embargo, las reglas específicas de cada idioma, como las del turco (donde la i minúscula debe convertirse en İ con punto, no en I), dependen de la configuración de idioma del navegador, no de la herramienta.
¿Para qué se usa CONSTANT_CASE?
CONSTANT_CASE (también llamado SCREAMING_SNAKE_CASE) se usa para constantes y variables de entorno. En JavaScript: const MAX_RETRIES = 3. En Python: MAX_RETRIES = 3 (por convención, ya que Python no tiene constantes reales). En scripts de shell: export DATABASE_URL=.... El estilo en mayúsculas indica que un valor no debe reasignarse tras su inicialización.
¿Cómo elijo la convención de escritura correcta para mi proyecto?
Sigue la convención dominante para tu lenguaje y framework. JavaScript/TypeScript: camelCase para variables, PascalCase para clases y componentes. Python: snake_case para funciones y variables, PascalCase para clases. CSS: kebab-case. SQL: snake_case para columnas y tablas. Claves JSON en API REST: adapta al lenguaje del frontend (camelCase para clientes JS, snake_case para clientes Python). Si tienes dudas, revisa la configuración del linter o el archivo .editorconfig en la raíz del proyecto.