Conversor de mayúsculas y minúsculas

camelCase, snake_case, kebab-case, PascalCase y más.

Acerca de esta herramienta

Escribe o pega texto y obtenlo a la vez en todas las convenciones de nombres habituales: camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, Title Case, tipo oración, dot.case y un slug de URL. Funciona línea a línea, así que puedes convertir una lista completa de nombres.

Cómo se usa

  1. Escribe o pega un nombre o una frase. Pon uno por línea para convertir una lista completa.
  2. Se muestran todos los estilos a la vez: camelCase, PascalCase, snake_case, kebab-case y más.
  3. Haz clic en Copiar en el estilo que necesites.

Preguntas

¿Qué estilo debo usar para cada cosa?
Convenciones habituales: camelCase para variables de JavaScript y Java, PascalCase para clases y componentes de React, snake_case para Python y columnas de bases de datos, CONSTANT_CASE para constantes y variables de entorno, kebab-case para URL, clases CSS y nombres de archivo.
¿Cómo se tratan los acrónimos como HTTP?
Un acrónimo seguido de una palabra en mayúscula se separa correctamente, así que HTTPResponseCode se convierte en http_response_code y httpResponseCode.
¿Qué hace el slug de URL con las tildes?
Los acentos y las letras especiales se convierten a ASCII simple, así que “Café Münster” se convierte en cafe-munster, y se elimina todo lo que no sea una letra, un dígito o un guion.
¿MAYÚSCULAS conserva la puntuación?
No. Cada estilo se construye a partir de las palabras que hay en la entrada, así que se elimina la puntuación y las palabras se unen con un solo espacio: “Hello, world!” se convierte en HELLO WORLD. La herramienta está pensada para nombres e identificadores, así que cambia las mayúsculas en tu editor cuando tengas que conservar la puntuación.
¿Para qué se usa Train-Case?
Train-Case pone en mayúscula la inicial de cada palabra y las une con guiones. Su uso más conocido son los nombres de cabeceras HTTP como Content-Type, X-Request-Id o Accept-Encoding. Los nombres de cabecera no distinguen mayúsculas de minúsculas, así que se trata de una convención para facilitar la lectura y no de un requisito del protocolo.
¿kebab-case es lo mismo que un slug de URL?
Casi. Ambos son palabras en minúscula unidas por guiones, pero el slug de URL además convierte las letras con tilde en ASCII simple y elimina todo lo que no sean letras de la a a la z, dígitos y guiones. kebab-case conserva letras como é o ł, lo que está bien para clases CSS pero no es lo ideal en una URL.

camelCase vs snake_case vs kebab-case: ¿en qué se diferencian?

Las convenciones de nombres solo se diferencian en cómo unen las palabras. camelCase empieza en minúscula y pone en mayúscula la inicial de cada palabra siguiente (userProfileId), PascalCase pone en mayúscula la inicial de todas las palabras (UserProfileId), snake_case une palabras en minúscula con guiones bajos (user_profile_id), CONSTANT_CASE hace lo mismo en mayúsculas (USER_PROFILE_ID) y kebab-case usa guiones (user-profile-id). Train-Case, dot.case y path/case siguen la misma idea con palabras con mayúscula inicial unidas por guiones, con puntos y con barras.

Normalmente es el lenguaje o el formato el que decide el estilo, no el gusto personal. La mayoría de los lenguajes de programación no permiten guiones en los identificadores, porque user-id se lee como user menos id, así que kebab-case vive en las URL, los nombres de clases CSS, las opciones de CLI como --dry-run y los nombres de archivo. Los puntos aparecen en claves de configuración como spring.datasource.url y en los ID de mensajes de traducción, mientras que path/case encaja con estructuras de carpetas y nombres de rutas anidadas.

Cómo convertir entre convenciones de nombres

Para convertir un nombre, primero hay que dividirlo en palabras. El conversor de mayúsculas y minúsculas divide en los espacios, guiones bajos, guiones, puntos, barras y otros signos de puntuación, en una minúscula o un dígito seguidos de una mayúscula (getUser da get y user) y dentro de secuencias de mayúsculas antes de una palabra nueva (XMLParser da xml y parser). Cada palabra se pasa a minúsculas y luego se une en cada estilo, así que max_retry_count, maxRetryCount y Max Retry Count dan los mismos resultados.

Los dígitos se quedan unidos a las letras que los preceden: version2 sigue siendo una palabra, mientras que version2Beta se divide en version2 y beta. Las letras de cualquier alfabeto cuentan como letras, así que los nombres en polaco o alemán conservan sus diacríticos en todos los estilos excepto en el slug de URL. Pon un nombre por línea para convertir una lista entera de una vez, como columnas de una base de datos que deben pasar a ser campos de TypeScript, y copia cualquier estilo como bloque.

Tipo Título vs tipo oración en los encabezados

Tipo Título pone en mayúscula las palabras principales de un encabezado y deja en minúscula las palabras funcionales cortas, salvo que vayan al principio o al final. Las palabras que se dejan en minúscula aquí son las inglesas a, an, and, as, at, but, by, for, in, of, on, or, the, to, vs y via, así que “the state of the art” se convierte en “The State of the Art”. Guías de estilo como AP y Chicago no coinciden en detalles como las preposiciones más largas, así que sigue la guía de estilo de tu organización si la tienes.

El tipo oración solo pone en mayúscula la primera palabra, como en “The state of the art”. Muchos sistemas de diseño, como Material Design y la Microsoft Writing Style Guide, prefieren el tipo oración para encabezados y etiquetas de interfaz porque se lee más rápido y se traduce mejor. El conversor de mayúsculas y minúsculas pasa cada palabra a minúsculas antes de aplicar un estilo, así que los nombres propios y las siglas como API o GitHub hay que corregirlos a mano después de convertir a Tipo oración o a Tipo Título.

¿Algo no funciona o un resultado parece incorrecto? Informar de un problema con esta herramienta