Introducción: Por Qué Importan las Convenciones de Mayúsculas
Las convenciones de mayúsculas y minúsculas son la gramática invisible tanto de la escritura humana como del código informático. En prosa, la diferencia entre "el presidente" y "El Presidente" señala si nos referimos a cualquier presidente o a uno específico. En código, la diferencia entre myVariable y my_variable puede revelar el lenguaje de programación, la guía de estilo del equipo e incluso la época en que se escribió el software.
Comprender estas convenciones no es meramente académico. El uso inconsistente de mayúsculas causa errores en lenguajes sensibles a mayúsculas, confunde a los lectores en textos publicados y rompe los slugs de URL en la web. Ya sea que seas un desarrollador eligiendo nombres de variables, un redactor formateando títulos o un analista de datos limpiando encabezados de columnas, conocer las reglas — y cuándo romperlas — hace tu trabajo más claro y profesional.
Esta guía cubre todas las convenciones principales usadas en escritura y programación, explica la historia detrás de cada una y aborda errores comunes incluyendo casos especiales multilingües y de accesibilidad.
Formatos de Escritura: MAYÚSCULAS, minúsculas, Tipo Título, Tipo Oración
MAYÚSCULAS
Cada letra está capitalizada. Se usa para acrónimos (NASA, HTML), avisos legales y énfasis en contextos informales. En escritura formal, evita usar todo en mayúsculas para el cuerpo del texto — las investigaciones muestran que reduce la velocidad de lectura en un 10-20% porque los lectores reconocen las palabras parcialmente por su forma (ascendentes y descendentes), y el texto en mayúsculas elimina esas señales.
minúsculas
Cada letra está en su forma pequeña. Raramente se usa como convención de texto completo, pero es común en identificadores de programación, URLs y direcciones de correo electrónico. Algunas marcas usan deliberadamente nombres en minúsculas (adidas, iPhone) como elección estilística.
Tipo Título (Title Case)
La primera letra de las palabras principales se capitaliza. Aquí es donde las convenciones divergen: el AP Stylebook dice capitalizar palabras de cuatro o más letras, el Manual de Estilo de Chicago capitaliza todas las palabras excepto artículos, preposiciones cortas y conjunciones, y APA sigue un patrón similar pero capitaliza ambas partes de compuestos con guión. La primera y última palabra siempre se capitalizan independientemente de su longitud o tipo. La palabra después de dos puntos también se capitaliza.
Tipo oración (Sentence case)
Solo la primera palabra y los nombres propios se capitalizan, siguiendo las reglas de las oraciones ordinarias. Cada vez más preferido para texto de interfaz, encabezados y botones porque se siente menos formal y es más fácil de aplicar consistentemente. Las guías de Material Design de Google, las Human Interface Guidelines de Apple y la mayoría de los sistemas de diseño modernos recomiendan sentence case para elementos de interfaz.
Formatos de Programación: El Kit del Desarrollador
camelCase
Las palabras se unen sin separadores; cada palabra después de la primera comienza con mayúscula: getUserName, totalPrice. El nombre viene de las "jorobas" formadas por las letras mayúsculas. Es la convención dominante en JavaScript, TypeScript, Java y Swift para variables y funciones. La primera letra siempre es minúscula, distinguiéndolo de PascalCase.
PascalCase
Idéntico a camelCase excepto que la primera letra también se capitaliza: GetUserName, HttpClient. Se usa para nombres de clases en casi todos los lenguajes orientados a objetos, componentes React, métodos y propiedades de C# e identificadores exportados en Go. Nombrado por el lenguaje de programación Pascal, donde era la convención estándar.
snake_case
Las palabras se separan con guiones bajos y todas las letras son minúsculas: get_user_name, total_price. La convención dominante en Python, Ruby, Rust (para variables y funciones), PHP (biblioteca estándar) y SQL. Guido van Rossum lo eligió para Python porque lo encontraba más legible que camelCase en revisiones de código — los guiones bajos crean espacios visuales similares al lenguaje natural.
kebab-case
Las palabras se separan con guiones y todas las letras son minúsculas: get-user-name, primary-color. El nombre evoca palabras ensartadas en una brocheta. Se usa en CSS (propiedades y nombres de clases), atributos HTML, slugs de URL, identificadores de Lisp y Clojure, y flags de CLI (--output-dir). No puede usarse como nombre de variable en la mayoría de los lenguajes porque el guión se interpreta como operador de resta.
CONSTANT_CASE
Todas las letras en mayúsculas con guiones bajos separando palabras: MAX_RETRIES, API_BASE_URL. La convención universal para constantes en Java, JavaScript, Python, C, C++ y prácticamente cualquier otro lenguaje. El estilo en mayúsculas señala a otros desarrolladores: "este valor no debe reasignarse."
Otros Formatos
dot.case (my.config.value) aparece en nombres de paquetes Java, archivos de propiedades y algunos sistemas de configuración. path/case (my/module/name) se usa en rutas de archivos y sistemas de módulos. COBOL-CASE (kebab en mayúsculas) aparece en código legacy de mainframe. Train-Case (kebab capitalizado) aparece ocasionalmente en cabeceras HTTP.
La Historia Detrás de Cada Convención
camelCase se originó en los años 1970-1980, ganando popularidad a través de Smalltalk y luego Java. Las computadoras tempranas tenían conjuntos de caracteres limitados donde los guiones bajos no estaban disponibles o eran costosos, haciendo que las palabras unidas con mayúsculas internas fueran una solución práctica.
snake_case precede a camelCase — el lenguaje de programación C (1972) usaba guiones bajos extensivamente en su biblioteca estándar (str_len, mem_cpy). Cuando Python apareció en 1991, Guido van Rossum lo codificó en PEP 8, convirtiéndolo en el estilo oficial del lenguaje.
kebab-case tiene sus raíces en Lisp (1958), uno de los lenguajes de programación más antiguos aún en uso. La sintaxis mínima de Lisp permitía guiones en identificadores de forma natural. Cuando surgió la web, las URLs adoptaron una convención similar porque los guiones son más legibles que los guiones bajos en la barra de direcciones del navegador, y los motores de búsqueda tratan los guiones como separadores de palabras.
PascalCase fue estandarizado por el lenguaje Pascal (1970) y posteriormente adoptado por Delphi, C# y el ecosistema .NET. La influencia de Microsoft a través de las convenciones de nombres de la API de Windows (e.g., CreateWindowEx) lo consolidó como el estándar para nombres de clases y métodos en muchos lenguajes.
Mayúsculas en Diferentes Idiomas Humanos
Las convenciones de mayúsculas se vuelven complejas cuando intervienen múltiples idiomas:
- Alemán capitaliza todos los sustantivos (der Hund, die Freiheit), no solo los nombres propios. Convertir texto alemán a minúsculas de forma ingenua rompe la gramática.
- Turco tiene una İ/i con punto y una I/ı sin punto. Convertir "DİYARBAKIR" a minúsculas en una configuración regional turca da "diyarbakır," no "diyarbakir." El
toLocaleLowerCase('tr')de JavaScript maneja esto, perotoLowerCase()no. - Griego tiene una sigma final especial (ς) que difiere de la sigma medial (σ). La palabra "ΟΔΟΣ" en minúsculas es "οδός," con ς al final.
- Holandés tiene el dígrafo "ij" que a veces se capitaliza como "IJ" (e.g., "IJssel"), requiriendo que ambas letras cambien de caso juntas.
Cualquier convertidor de mayúsculas que opere sobre caracteres ASCII individuales producirá resultados incorrectos para estos idiomas. El estándar Unicode define reglas completas de mapeo de mayúsculas en su especificación de Case Mappings (TR21), y los navegadores modernos las implementan a través de toLocaleLowerCase() y toLocaleUpperCase().
Errores Comunes
- Capitalizar preposiciones en títulos: "El Arte De La Guerra" debería ser "El Arte de la Guerra" en la mayoría de las guías de estilo. Los artículos, conjunciones y preposiciones cortas van en minúsculas a menos que sean la primera o última palabra.
- Nombres inconsistentes en código: Mezclar
getUserNameyget_user_ageen el mismo código base confunde a los desarrolladores y dificulta las búsquedas. Elige una convención y aplícala con un linter. - Olvidar acrónimos: ¿Debería ser
XMLParseroXmlParser? La guía de estilo Java de Google recomienda tratar los acrónimos como palabras (XmlParser), mientras que la guía de C# de Microsoft preserva acrónimos de dos letras (IOStream) pero pone en minúsculas los más largos (HtmlParser). - Errores de sensibilidad a mayúsculas: Los sistemas de archivos en macOS y Windows son insensibles a mayúsculas por defecto, pero Linux es sensible. Un archivo importado como
MyComponentque en realidad se llamamyComponentfuncionará localmente pero fallará en CI ejecutándose en Linux. - Slugs de URL con mayúsculas mixtas: Las URLs siempre deben ser en minúsculas. Los motores de búsqueda pueden tratar
/About-Usy/about-uscomo páginas diferentes, causando problemas de contenido duplicado.
Accesibilidad y Mayúsculas
Las elecciones de mayúsculas impactan la accesibilidad de formas que muchos diseñadores pasan por alto:
- TODO EN MAYÚSCULAS reduce la legibilidad. Estudios en investigación tipográfica confirman que el texto escrito enteramente en mayúsculas es más difícil y lento de leer. Los lectores reconocen las palabras parcialmente por su contorno — el patrón de letras altas (l, t, h) y descendentes (g, p, y). El texto en mayúsculas produce una forma rectangular uniforme para cada palabra, forzando la lectura letra por letra en vez del reconocimiento de palabras completas.
- Los lectores de pantalla pueden deletrear acrónimos. Una palabra en mayúsculas como "NASA" puede ser leída como "N-A-S-A" por algunos lectores de pantalla a menos que se marque con
aria-label="NASA"o se envuelva en una etiqueta<abbr>. Para palabras que deben leerse como una sola palabra, usa CSStext-transform: uppercaseen vez de escribir en mayúsculas — el lector de pantalla verá el texto original en minúsculas. - camelCase y PascalCase son más difíciles para lectores disléxicos. Las palabras sin separadores requieren más esfuerzo para analizar. Esto es menos preocupante en editores de código (que usan resaltado de sintaxis) pero importa en texto visible para el usuario.
Referencia Rápida de Guías de Estilo
Las cuatro principales guías de estilo en inglés difieren en las reglas de título. Aquí hay una comparación (aplicable también como referencia para textos en español):
| Regla | AP Style | Chicago | APA | MLA |
|---|---|---|---|---|
| Capitalizar palabras ≥ N letras | ≥ 4 | Todas las principales | ≥ 4 | Todas las principales |
| Minúscula para artículos (a, an, the) | Sí | Sí | Sí | Sí |
| Minúscula para preposiciones cortas | Sí (< 4) | Sí | Sí (< 4) | Sí |
| Capitalizar después de dos puntos | Sí | Sí | Sí | No |
| Palabras con guión | Cap partes principales | Cap todas las partes | Cap ambas partes | Cap todas las partes |
| Primera/última palabra siempre capitalizada | Sí | Sí | Sí | Sí |
En caso de duda, elige una guía de estilo y aplícala consistentemente en toda tu publicación.
Conversión Automatizada: Beneficios y Limitaciones
Las herramientas automatizadas ahorran un tiempo enorme al convertir nombres de variables, encabezados CSV o títulos de documentos. Sin embargo, tienen limitaciones:
- Nombres propios: Una herramienta no puede saber que "paris" debería permanecer como "Paris" al convertir a minúsculas, o que "iPhone" no debería convertirse en "Iphone" en tipo título.
- Acrónimos: Convertir "NASA launches new satellite" a tipo título podría producir "Nasa Launches New Satellite" si la herramienta no mantiene un diccionario de acrónimos.
- Sensibilidad al contexto: "US" es un pronombre (minúscula "us") o una abreviatura de país (mayúscula "US") dependiendo del contexto. Ningún convertidor puede resolver esta ambigüedad sin comprender el significado.
- Entrada de formato mixto: Convertir "myVariable-name.value" requiere que la herramienta reconozca tres separadores diferentes (límite camelCase, guión, punto) y divida correctamente antes de reunir en el formato objetivo. Las herramientas simples que solo manejan un tipo de separador producirán resultados incorrectos.
El mejor enfoque es usar la conversión automatizada para la transformación masiva y luego revisar manualmente la salida para nombres propios, acrónimos y casos especiales.
Cómo Nuestra Herramienta Maneja Estos Desafíos
El convertidor de mayúsculas de este sitio aborda muchos de los problemas descritos arriba. Su tokenizador universal divide la entrada en espacios, guiones bajos, guiones, puntos, barras y límites camelCase simultáneamente — así que convertir myVariable-name.here a snake_case produce correctamente my_variable_name_here. Maneja acrónimos como XMLParser detectando secuencias de letras mayúsculas seguidas de una letra minúscula, dividiendo en ["XML", "Parser"].
Para tipo título, la herramienta ofrece tres presets de guías de estilo — AP, Chicago y APA — cada uno con su propia lista de palabras auxiliares y reglas de guiones. Las palabras después de dos puntos siempre se capitalizan, y la primera y última palabra nunca se ponen en minúsculas independientemente del estilo seleccionado.
Todo el procesamiento ocurre enteramente en tu navegador. Ningún texto se envía a ningún servidor, haciendo la herramienta segura para código confidencial, documentos propietarios y datos sensibles. La herramienta soporta 17 formatos de mayúsculas incluyendo todas las convenciones de programación y escritura discutidas en este artículo, además de transformaciones divertidas como invertir mayúsculas, texto invertido y ROT13. Una vista de diferencias en vivo resalta exactamente qué caracteres cambiaron después de cada conversión, y un modo multi-línea te permite aplicar diferentes formatos a líneas individuales — ideal para convertir encabezados CSV o listas de nombres de variables. Incluso puedes subir archivos (.txt, .csv, .json) para conversión por lotes con un solo clic.