Conversor de mayúsculas (camel, snake, kebab…)

Convierte texto entre camelCase, PascalCase, snake_case, kebab-case, SCREAMING_SNAKE y más.

toolboox.app/herramientas/case-converter

Herramienta

camel
helloWorldEjemploDeTexto
pascal
HelloWorldEjemploDeTexto
snake
hello_world_ejemplo_de_texto
screamingSnake
HELLO_WORLD_EJEMPLO_DE_TEXTO
kebab
hello-world-ejemplo-de-texto
title
Hello World Ejemplo De Texto
sentence
Hello world ejemplo de texto
constant
HELLO_WORLD_EJEMPLO_DE_TEXTO

Qué problema resuelve

Cada lenguaje impone su convención de nombres y renombrar a mano introduce typos.

Elegir la convención de mayúsculas y minúsculas correcta no es un detalle estético: `camelCase`, `snake_case`, `kebab-case` y `PascalCase` tienen significados y usos distintos según el lenguaje de programación, el formato de archivo o la convención de un equipo. Este conversor de mayúsculas y minúsculas transforma cualquier texto entre estos formatos al instante, útil tanto para redactar títulos como para normalizar nombres de variables, archivos o claves de API.

Las convenciones de nomenclatura en programación

camelCase (primeraPalabraMinuscula) es el estándar para variables y funciones en JavaScript, Java y C#. PascalCase (CadaPalabraMayuscula) se usa para nombres de clases y componentes en casi todos los lenguajes orientados a objetos, incluidos los componentes de React. snake_case (cada_palabra_minuscula) domina en Python, Ruby y nombres de columnas SQL. kebab-case (cada-palabra-con-guion) es el estándar para URLs, nombres de archivo CSS y atributos HTML, porque el guion bajo no es válido en nombres de dominio y el guion medio sí.

Por qué mezclar convenciones en un mismo proyecto genera bugs

Un error clásico es definir una variable en snake_case en el backend Python y esperar recibirla igual en el frontend JavaScript, que por convención usa camelCase: la API debe transformar explícitamente las claves JSON entre ambos formatos, o el frontend recibirá undefined al intentar leer user.first_name cuando la variable real es user.firstName. Herramientas como json-camelcase-keys en Node o pydantic con alias en Python automatizan esta conversión en el límite entre sistemas.

UPPERCASE, Title Case y Sentence case para contenido editorial

Más allá del código, UPPERCASE (TODO EN MAYÚSCULAS) se usa para constantes de configuración (MAX_RETRIES) y para énfasis tipográfico limitado, nunca para párrafos completos porque dificulta la lectura. Title Case (Cada Palabra Principal En Mayúscula) es la convención habitual en títulos de artículos en inglés, aunque en español la norma ortográfica de la RAE recomienda Sentence case (solo la primera palabra y los nombres propios en mayúscula) para títulos, a diferencia del inglés.

Slugs para URLs: por qué siempre kebab-case sin acentos

Un slug de URL debe estar en minúsculas, sin espacios ni acentos, con palabras separadas por guiones: generador-de-contraseñas se convierte en generador-de-contrasenas tras eliminar la eñe y la tilde. Los espacios se codifican como %20 si no se transforman, lo que genera URLs feas e inconsistentes entre sistemas; y los guiones bajos, aunque técnicamente válidos, son tratados por Google como un único término compuesto en lugar de palabras separadas, perjudicando el SEO.

Alternancia y caso invertido: usos y limitaciones

El alternado (aLtErNaTiNg CaSe) y el caso invertido (invertir mayúsculas y minúsculas letra a letra) no tienen aplicación técnica seria, pero son útiles para pruebas de normalización de texto: si tu sistema de búsqueda no distingue mayúsculas correctamente, generar variantes con estos casos ayuda a detectar bugs de comparación case-sensitive donde debería ser case-insensitive.

Automatizar la conversión en scripts y editores

La mayoría de editores de código (VS Code, JetBrains) incluyen atajos para transformar la selección entre camelCase y snake_case, pero para conversiones masivas en archivos completos conviene un script con expresiones regulares: dividir por límites de palabra (mayúscula tras minúscula, guion o guion bajo) y volver a unir con el separador deseado. Esta misma lógica es la que aplica este conversor al procesar el texto que pegues.

Casos de uso comunes

  • Convertir nombres de columnas de una base de datos SQL de snake_case a camelCase para una API JSON.
  • Generar el slug correcto en kebab-case para la URL de un nuevo artículo del blog.
  • Normalizar nombres de variables al refactorizar código heredado entre convenciones distintas.
  • Transformar un título en mayúsculas de un CSV a Sentence case para presentarlo en una interfaz.
  • Convertir claves de un archivo de configuración YAML entre snake_case y camelCase.

Buenas prácticas

  • Mantén una única convención por lenguaje: camelCase en JS, snake_case en Python, kebab-case en URLs.
  • Automatiza la conversión entre backend y frontend en el límite de la API, no a mano en cada componente.
  • Elimina acentos y caracteres especiales al generar slugs, nunca los sustituyas por %XX codificado.
  • Evita UPPERCASE para párrafos completos: reduce la legibilidad y puede interpretarse como gritar.
  • Sigue la norma ortográfica del idioma (Sentence case en español) en lugar de copiar convenciones del inglés sin más.

Preguntas frecuentes

¿Qué diferencia hay entre camelCase y PascalCase?

Ambos unen palabras sin espacios capitalizando cada una, pero camelCase empieza con minúscula (miVariable) y PascalCase empieza con mayúscula (MiClase).

¿Por qué mi API JSON usa snake_case y mi frontend camelCase?

Es una diferencia de convención entre el ecosistema Python/Ruby (snake_case) y JavaScript (camelCase); lo habitual es transformar las claves en la capa de integración, no mezclar convenciones dentro de cada lenguaje.

¿Debo usar guion bajo o guion medio en una URL?

Usa siempre guion medio (kebab-case): Google interpreta el guion bajo como parte de una sola palabra, perjudicando la relevancia de cada término por separado en el buscador.

¿Los títulos en español van en mayúscula inicial en cada palabra?

No, la ortografía académica española recomienda mayúscula solo en la primera palabra y en los nombres propios, a diferencia del Title Case habitual en inglés.

¿Cómo convierto snake_case a camelCase automáticamente en JavaScript?

Divide la cadena por guiones bajos y capitaliza la primera letra de cada palabra excepto la primera, uniendo después sin separadores; es exactamente la transformación que aplica este conversor.