Skip to content

Convertidor de Mayúsculas, Minúsculas, camelCase y Más

Convierte texto entre UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE y 6 formatos más al instante. Gratis, en el navegador, sin registro.

Sin rastreo Se ejecuta en el navegador Gratis
Toda la conversión de caso sucede localmente en tu navegador. No se envía ningún dato a ningún servidor.

Casos de texto

lowercase

Todas las letras en minúscula. Espacios preservados.

hello world example

UPPERCASE

Todas las letras en mayúscula. Espacios preservados.

HELLO WORLD EXAMPLE

Title Case

Primera letra de cada palabra capitalizada.

Hello World Example

Sentence case

Primera letra de cada oración capitalizada.

Hello world example

iNVERSE cASE

Intercambia mayúscula/minúscula en cada letra.

hELLO wORLD eXAMPLE

aLtErNaTiNg cAsE

Alterna minúscula/mayúscula por letra.

hElLo WoRlD eXaMpLe

RaNdOm CaSe

Lanza una moneda independientemente por cada letra.

HeLLo WorLd eXamPLe

Casos de programación

camelCase

Primera palabra en minúscula, el resto capitalizado, sin separadores.

helloWorldExample

PascalCase

Cada palabra capitalizada, sin separadores.

HelloWorldExample

snake_case

Minúscula, unido por guiones bajos.

hello_world_example

kebab-case

Minúscula, unido por guiones.

hello-world-example

CONSTANT_CASE

Mayúscula, unido por guiones bajos.

HELLO_WORLD_EXAMPLE

dot.case

Minúscula, unido por puntos.

hello.world.example

path/case

Minúscula, unido por barras.

hello/world/example

Header-Case

Cada palabra capitalizada, unida por guiones.

Hello-World-Example
Revisado por paridad con lodash / change-case, corrección del mapeo de caso Unicode, estabilidad de round-trip de acrónimos y el conjunto de funciones de siete casos de texto + ocho casos de programación. — Equipo de Ingeniería de Go Tools · May 26, 2026

¿Qué Es un Convertidor de Mayúsculas?

Un convertidor de mayúsculas es una pequeña utilidad que toma un trozo de texto y lo re-renderiza en una convención diferente de caso de letras. Las formas más simples son UPPERCASE y lowercase: voltea cada letra a un solo caso. Las formas más ricas aplican reglas lingüísticas (Title Case capitaliza la primera letra de cada palabra, Sentence case capitaliza la primera letra de cada oración) o reglas de nomenclatura de programación (camelCase une palabras capitalizando cada una después de la primera; snake_case pone todo en minúscula y une con guiones bajos). Los convertidores de caso en línea han existido desde que la web ha tenido textareas, porque la conversión es mecánicamente simple pero tediosa de hacer a mano para cualquier cantidad no trivial de texto.

La familia de casos de texto es la que usan escritores, editores, marketers y periodistas. UPPERCASE y lowercase son útiles para coincidir con el estilo de la casa o para quitar las MAYÚSCULAS gritonas de un correo reenviado. Title Case es para encabezados y títulos de libros. Sentence case es el estándar web moderno para texto del cuerpo, microcopy de UI, etiquetas de botones y leyendas — las guías de estilo de Google, Apple y Microsoft convergieron en ello a lo largo de la última década. Las variantes de burla (iNVERSE cASE, aLtErNaTiNg cAsE, RaNdOm CaSe) vienen de la cultura de internet, particularmente del "meme de spongebob" usado para citar a alguien sarcásticamente; alternating case es la variante determinista estricta, random case es la caótica.

La familia de casos de programación es la que los desarrolladores usan cada día. camelCase es el estándar para identificadores JavaScript, Java, Swift y Kotlin. PascalCase es el estándar para nombres de clase en la mayoría de lenguajes orientados a objetos y nombres de componentes en React, Vue y Angular. snake_case es el estándar para Python, Ruby, Rust y Elixir, además de la mayoría de nombres de columna de base de datos. kebab-case es el estándar para nombres de clase CSS, slugs de URL y atributos HTML. CONSTANT_CASE es el estándar para variables de entorno, constantes de nivel superior y nombres de macro. dot.case se usa para namespacing (paquetes Java, rutas de campo MongoDB). path/case se usa para URLs y rutas del sistema de archivos. Header-Case es la convención canónica de cabeceras HTTP/1.1 (Content-Type, Access-Control-Allow-Origin).

Bajo el capó, la ingeniería interesante es el tokenizador que divide una cadena de entrada en sus palabras semánticas. Es fácil dividir por espacios en blanco; lo difícil es reconocer límites de palabra que no tienen un separador de espacio en blanco. La convención estándar — usada por lodash, el paquete npm change-case, PEP 8 de Python y la mayoría de bases de código del mundo real — inserta un límite en tres transiciones: minúscula-a-mayúscula (parseHTML → parse / HTML), mayúscula-a-mayúscula-a-minúscula (XMLHttpRequest → XML / Http / Request) y letra-a-dígito / dígito-a-letra (file2x → file / 2 / x). Más los separadores explícitos: guion, guion bajo, punto, barra, barra invertida. Con ese único tokenizador, puedes pegar un identificador en cualquier caso — camelCase, snake_case, kebab-case, mixto — y convertir a cualquier otro caso limpiamente sin limpieza manual.

La herramienta que estás usando ejecuta el tokenizador y las 15 transformaciones enteramente en tu navegador con JavaScript. No hay llamada de red, ni servidor, ni logging, ni cookie que registre lo que escribes. La salida para cada caso se actualiza en cada pulsación de tecla sin retraso de debounce. El botón Copiar en cada tarjeta escribe solo ese caso al portapapeles. Re-mezclar vuelve a tirar el random case sin perturbar las otras salidas. Todo está diseñado para la velocidad del trabajo real: pegar, escanear, copiar, pegar en otro sitio.

Para herramientas de texto relacionadas, el contador de palabras maneja métricas de longitud y tiempo de lectura, el comparador de texto compara dos trozos de texto línea por línea y el tester de regex verifica coincidencias de patrón contra entrada de muestra. Juntas cubren la mayor parte del trabajo de modelado de texto que un desarrollador o trabajador de contenido hace en un navegador.

// The tokenizer that powers every programming-case conversion
function tokenize(input) {
  return input
    .replace(/([a-z0-9])([A-Z])/g, '$1 $2')      // lower→upper: parseHTML → parse HTML
    .replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2')   // acronym boundary: XMLHttp → XML Http
    .replace(/([A-Za-z])(\d)/g, '$1 $2')          // letter→digit: file2 → file 2
    .replace(/(\d)([A-Za-z])/g, '$1 $2')          // digit→letter: 2x → 2 x
    .replace(/[\s\-_./\\]+/g, ' ')                // collapse separators
    .split(' ').filter(Boolean);
}

// Then each case is a one-liner over the tokens
const camelCase  = (s) => tokenize(s).map((t, i) => i === 0 ? t.toLowerCase() : cap(t)).join('');
const snakeCase  = (s) => tokenize(s).map(t => t.toLowerCase()).join('_');
const kebabCase  = (s) => tokenize(s).map(t => t.toLowerCase()).join('-');
const PascalCase = (s) => tokenize(s).map(cap).join('');

function cap(t) {
  return t.charAt(0).toUpperCase() + t.slice(1).toLowerCase();
}

Características Clave

Los 15 Casos Visibles a la Vez

Pega tu texto y cada caso se renderiza al instante en una rejilla de dos columnas. Sin necesidad de elegir un formato primero ni de pasar por un desplegable — escanea la rejilla, copia el que necesitas. Los casos de texto y los casos de programación se dividen en secciones separadas para que encuentres la tarjeta correcta de un vistazo.

Tokenizador Inteligente para Casos de Programación

Reconoce límites minúscula-a-mayúscula (camelCase), límites mayúscula-a-mayúscula-a-minúscula (XMLHttpRequest → XML/Http/Request), límites letra-a-dígito (file2x) y todos los separadores comunes (-, _, ., /, \, espacios en blanco). Coincide con las convenciones de lodash y del paquete npm change-case, así que la salida hace round-trip como las bases de código reales esperan.

Copia por Tarjeta con Feedback en Vivo

Cada tarjeta de salida tiene su propio botón Copiar — haz clic una vez y solo ese caso aterriza en tu portapapeles. La etiqueta cambia brevemente a "¡Copiado!" para que sepas que funcionó. Sin necesidad de seleccionar texto ni hacer clic derecho.

Actualizaciones en Tiempo Real en Cada Pulsación

Cada caso se re-renderiza en cada pulsación de tecla sin retraso de debounce. Sin botón Convertir que pulsar, sin recarga de página, sin esperas. Construido para la velocidad de la edición real — pegar, escanear, copiar, hecho.

Re-mezclar para Random Case

La salida de Random Case se puede volver a tirar de forma independiente con el botón Re-mezclar, sin perturbar ninguna otra salida ni el texto de entrada. Útil cuando quieres una variante distinta del meme de spongebob para el mismo texto fuente.

Preserva Espacios y Puntuación

Las transformaciones de caso de texto (UPPERCASE, lowercase, Title, Sentence, iNVERSE, aLtErNaTiNg, RaNdOm) preservan cada espacio, salto de línea y signo de puntuación por diseño. Pega un documento de varios párrafos y el formato sobrevive intacto — solo cambia el caso de las letras.

Mapeos de Caso Unicode-Conscientes

Usa los métodos Intl-conscientes `toLocaleLowerCase` y `toLocaleUpperCase` para que la İ/ı turca con/sin punto, la ß alemana, la sigma final griega y otros casos sensibles al locale se manejen correctamente. El tokenizador reconoce letras de cualquier escritura (Unicode \p{L}).

Privacidad 100% en el Navegador

Toda la conversión corre localmente en tu navegador. Tu texto nunca se sube, nunca se registra, nunca se almacena, nunca se analiza. Seguro para nombres de productos no anunciados, esquemas internos de variables, borradores de notas de prensa y cualquier material confidencial. Cero peticiones de red mientras escribes — verifícalo en la pestaña de Red del navegador.

Round-Trip que Preserva Acrónimos

Convierte XMLHttpRequest → xml_http_request → XmlHttpRequest y la estructura hace round-trip limpiamente. La misma convención que PEP 8 para Python y el paquete change-case para JS — sin división manual letra por letra al migrar una base de código entre convenciones de caso.

Alternativas de Convertidor de Caso Comparadas

lodash (_.camelCase, _.snakeCase, _.kebabCase, _.startCase)

librería JavaScript

La implementación de referencia para la mayoría de bases de código JS. Produce salida idéntica a esta herramienta en los casos comunes. lodash usa un manejo Unicode ligeramente diferente para casos límite. Usa lodash en tu código; usa esta herramienta para conversiones puntuales o comprobaciones rápidas durante un refactor.

Paquete npm change-case

librería JavaScript

Librería modular y tree-shakable de conversión de caso — una función por caso. El tokenizador en esta herramienta coincide exactamente con la convención de change-case v5+, así que las salidas son byte-idénticas para entradas ASCII. Usa change-case cuando solo quieras camelCase o solo snake_case en tu bundle; usa esta herramienta para conversión interactiva.

Comandos de caso integrados de VS Code

comando de editor

VS Code incluye los comandos `Transform to Uppercase`, `Transform to Lowercase` y `Transform to Title Case` (Cmd-Shift-P → buscar). Sin camelCase, snake_case ni otros casos de programación de fábrica; extensiones como "change-case" los añaden. Mejor cuando tu texto ya está en el editor; esta herramienta es más rápida para conversiones de flujo de portapapeles.

convertcase.net

herramienta de navegador

El convertidor de caso en línea original — solo casos de texto (UPPERCASE, lowercase, Sentence, Title, alternating, inverse). Sin casos de programación. Ha existido desde principios de los 2000 y sigue siendo el primer resultado para muchas búsquedas de caso de texto. Esta herramienta cubre los mismos casos de texto y añade los ocho casos de programación también.

Change Case de Microsoft Word (Inicio > Cambiar mayúsculas y minúsculas)

app de escritorio

Word tiene un botón Cambiar mayúsculas y minúsculas en la pestaña Inicio: Sentence case, minúscula, MAYÚSCULA, Capitalizar Cada Palabra, aLTERNAR mAYÚS. Sin casos de programación. El flujo requiere estar en Word con el archivo abierto. Usa Word cuando tu texto ya esté en un documento; usa esta herramienta cuando estés en una pestaña del navegador.

Transformaciones de Pages / TextEdit de Apple

app de escritorio

Pages y TextEdit de macOS tienen Edición > Transformaciones: Poner en Mayúsculas, Poner en Minúsculas, Mayúsculas Iniciales. Sin camelCase, snake_case ni otras variantes de programación. Rápido para texto corto en esas apps; no diseñado para trabajo de identificadores de código.

Convertidores online de caso de programación (p. ej., camelcasse.com)

herramienta de navegador

Convertidores dedicados a un solo caso que se centran en una transformación (solo camelCase, solo snake_case). Menos casos para escanear, UI más enfocada. Esta herramienta muestra los 15 a la vez, lo que es más rápido para refactorizar entre múltiples casos — pero si solo necesitas uno, una herramienta de caso único está bien.

Ejemplos de Conversión de Caso

Asunto de Correo en MAYÚSCULAS → Sentence Case

URGENT: PLEASE REVIEW THE Q4 BUDGET PROPOSAL BEFORE FRIDAY

Salida en Sentence case: "Urgent: please review the q4 budget proposal before friday" — elimina al instante el tono gritón de las mayúsculas para reenviar o responder con educación. Salida en Title Case: "Urgent: Please Review The Q4 Budget Proposal Before Friday" — si prefieres mantener un estilo formal de titular. Ambas suceden a la vez; elige la que encaje con tu respuesta.

Variable snake_case → camelCase

user_profile_image_url

Salida camelCase: "userProfileImageUrl" — pega directo en JavaScript, Java o Swift. PascalCase: "UserProfileImageUrl" — para nombres de propiedades de C# / .NET o nombres de componentes React. kebab-case: "user-profile-image-url" — para clases CSS o slugs de URL. CONSTANT_CASE: "USER_PROFILE_IMAGE_URL" — para variables de entorno o constantes de nivel superior. Un pegado, cuatro identificadores listos para usar.

Nombre de Clase con Acrónimos (XMLHttpRequest)

XMLHttpRequest

El tokenizador reconoce el límite XML / Http / Request. Salidas: snake_case → "xml_http_request", kebab-case → "xml-http-request", CONSTANT_CASE → "XML_HTTP_REQUEST", Header-Case → "Xml-Http-Request". Esta es exactamente la convención que usan lodash, el paquete change-case y el manejo de acrónimos de PEP 8 de Python: tu refactor de un nombre de clase JS a un nombre de módulo Python toma un pegado, no una división manual letra por letra.

Título de Página a Slug de URL (Title → kebab-case)

10 Tips for Faster JavaScript: A Complete Guide

Salida kebab-case: "10-tips-for-faster-javascript-a-complete-guide" — el slug seguro para URL que la mayoría de CMS (WordPress, Ghost, Hugo) generan por defecto. snake_case: "10_tips_for_faster_javascript_a_complete_guide" — para convenciones de nombre de archivo. El tokenizador elimina los dos puntos y otra puntuación limpiamente; no tienes que limpiar el título primero.

Nombre de Cabecera HTTP desde Camel-Case (Header-Case)

accessControlAllowOrigin

Salida Header-Case: "Access-Control-Allow-Origin" — la grafía exacta que usa la especificación HTTP, lista para colocar en un objeto de opciones fetch() o en una respuesta del lado del servidor. kebab-case: "access-control-allow-origin" — misma forma canónica en minúsculas (algunas librerías HTTP la usan internamente). Esta es la forma más rápida de traducir una propiedad de objeto JS a un nombre real de cabecera.

Constante desde un Ajuste Legible (CONSTANT_CASE)

max retries per request

Salida CONSTANT_CASE: "MAX_RETRIES_PER_REQUEST" — colócalo en un archivo de configuración como `const MAX_RETRIES_PER_REQUEST = 3` o en un archivo `.env` como `MAX_RETRIES_PER_REQUEST=3`. snake_case: "max_retries_per_request" — para constantes a nivel de módulo al estilo Python o claves YAML. Misma fuente, dos destinos, sin edición manual.

Frase a Meme de Spongebob (aLtErNaTiNg cAsE)

this is fine, everything is going great

Salida aLtErNaTiNg cAsE: "tHiS iS fInE, EvErYtHiNg iS gOiNg GrEaT" — el formato canónico de burla de spongebob. La alternancia es un conmutador global a través de las letras, no por palabra, coincidiendo con lo que hacen convertcase.net y otros generadores de memes. RaNdOm CaSe: voltea cada letra de forma independiente — útil cuando quieres la misma energía sarcástica con más caos.

Cómo Usar el Convertidor de Mayúsculas

  1. 1

    Pega o escribe tu texto

    Haz clic en el editor y escribe, o pega cualquier texto: una frase, un párrafo, un identificador, un encabezado. Cada salida de caso se actualiza al instante. Haz clic en Ejemplo para cargar una frase representativa si solo quieres ver cómo se diferencian los casos.

  2. 2

    Escanea la rejilla

    Los siete casos de texto (UPPERCASE, lowercase, Title, Sentence, iNVERSE, aLtErNaTiNg, RaNdOm) están en la sección superior. Los ocho casos de programación (camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, path/case, Header-Case) están en la sección inferior. Cada tarjeta muestra su etiqueta de caso, una descripción de una línea y la salida convertida.

  3. 3

    Haz clic en Copiar en el caso que quieras

    Cada tarjeta de salida tiene su propio botón Copiar pequeño. Haz clic una vez — el caso aterriza en tu portapapeles, el botón parpadea "¡Copiado!", y estás listo para pegar en otro sitio. Sin necesidad de seleccionar primero el texto de salida.

  4. 4

    Re-mezcla el random case si hace falta

    Si quieres una variante distinta de RaNdOm CaSe para el mismo texto, haz clic en Re-mezclar en la barra de acciones. Solo cambia la salida de Random Case; el texto de entrada y todas las demás salidas permanecen iguales.

  5. 5

    Limpia al terminar

    Haz clic en Limpiar para vaciar el editor y reiniciar cada salida. Ejemplo recarga el texto de demostración. Todas las acciones son instantáneas y nunca se envían a un servidor.

Errores Comunes de Conversión de Caso

Intentar Convertir un Párrafo Entero a snake_case

Pegar una frase multi-palabra en la salida snake_case la colapsa en un identificador gigantesco — técnicamente el snake_case correcto de la entrada, pero nunca lo que realmente quieres para un identificador. Usa snake_case para un identificador a la vez (un nombre de variable o frase compuesta). Para texto del tamaño de un párrafo, usa las transformaciones de caso de texto.

✗ Incorrecto
Entrada: "the quick brown fox jumps over the lazy dog"
Salida snake_case: the_quick_brown_fox_jumps_over_the_lazy_dog
Resultado: un identificador de 50 caracteres que nadie quiere.
✓ Correcto
Entrada: "quickBrownFox"
Salida snake_case: quick_brown_fox
Resultado: un identificador limpio de tres tokens.

Esperar Reglas APA de Title Case

El Title Case de esta herramienta capitaliza cada palabra — `Hello A World Of Examples` en lugar del estilo AP `Hello a World of Examples`. Las guías de estilo APA, Chicago y AP ponen en minúscula los artículos y preposiciones cortos en titulares. Si necesitas titulares específicamente en estilo APA, usa una herramienta dedicada de title-case. Para capitalización general (capitalizar cada palabra), este Title Case es correcto.

✗ Incorrecto
Entrada: "a tale of two cities"
Title Case de esta herramienta: A Tale Of Two Cities
Esperado (estilo AP): A Tale of Two Cities
✓ Correcto
Usa esta herramienta para capitalización general.
Usa una herramienta de titulares estilo AP para títulos editoriales.
Herramientas distintas, convenciones distintas.

Asumir que los Round-Trips de PascalCase Preservan la Capitalización del Acrónimo

XMLHttpRequest se tokeniza como XML / Http / Request y se vuelve a PascalCase como XmlHttpRequest. Esta es la convención (permite que el tokenizador haga round-trip limpiamente), pero si tu base de código preserva la capitalización del acrónimo (manteniendo XMLHttpRequest como XMLHttpRequest), el resultado no coincidirá. Comprueba antes de hacer un renombrado en todo el proyecto.

✗ Incorrecto
Entrada: XMLHttpRequest
Salida PascalCase: XmlHttpRequest
Esperado (acrónimo preservado): XMLHttpRequest
✓ Correcto
Acepta el acrónimo en title-case, O
Preserva el acrónimo manualmente tras la conversión, O
Usa un tokenizador que respete pistas de acrónimo.

Pegar URLs y Perder las Barras

Pegar `https://example.com/api/users` en snake_case elimina todas las barras y puntos y produce `https_example_com_api_users` — técnicamente correcto pero inútil como URL. Las URLs ya están en formato path/case; no las pases por transformaciones de caso de programación. Si quieres quitar el protocolo o el host de una URL, usa primero una herramienta de parseo de URL.

✗ Incorrecto
Entrada: https://example.com/api/users
Salida snake_case: https_example_com_api_users
Resultado: ya no es una URL.
✓ Correcto
Entrada: https://example.com/api/users
Deja las URLs en paz — ya están en el formato correcto.
Para extracción de slug, parsea la ruta de la URL manualmente.

Confundir dot.case con Notación de Identificador con Puntos

La salida dot.case es `user.profile.image` — tokens en minúscula unidos por puntos literales, adecuado para namespacing (paquetes Java, rutas de campo MongoDB, claves TOML). No es lo mismo que la notación de acceso a propiedad de JavaScript (`user.profile.image` se ve idéntico pero significa "la propiedad image de la propiedad profile de user"). Si necesitas una ruta de acceso a propiedad, dot.case da por casualidad la cadena correcta; si necesitas un identificador de programación, usa camelCase o snake_case en su lugar.

✗ Incorrecto
Objetivo: "establecer la variable user.profile.image"
Usar la salida dot.case como nombre de variable: `user.profile.image`
En la mayoría de lenguajes esto es acceso a propiedad, no un identificador.
✓ Correcto
Para una sola variable: userProfileImage (camelCase).
Para una clave con namespace: user.profile.image (dot.case es correcto).
Elige el caso según la sintaxis de destino.

Esperar que Sentence Case Maneje Abreviaturas

Sentence case trata cada `.` seguido de espacios como un límite de oración, incluido `Mr. Smith arrived.` que se convierte en `Mr. Smith arrived.` correctamente, pero `e.g. this example` se convierte en `E.g. This example` (la `g.` se trata mal como terminador de oración). Los falsos positivos en abreviaturas son una limitación conocida de cada detector de oraciones basado en regex; para precisión editorial, edita la salida a mano.

✗ Incorrecto
Entrada: "e.g. this is an example. Read more."
Salida sentence case: "E.g. This is an example. Read more."
La `g.` se trató mal como terminador de oración.
✓ Correcto
Ejecuta sentence case primero, luego arregla a mano los pocos casos límite de abreviaturas.
O reformula para evitar puntos dentro de oraciones.
(La detección de oraciones de nivel NLP es una categoría de herramienta aparte.)

Quién Usa Esta Herramienta

Desarrolladores Renombrando Identificadores entre Lenguajes
Migrar una variable JS a un nombre Python snake_case, o una clase CSS a un componente React PascalCase, o una variable de entorno a una constante de configuración. Pega el nombre fuente una vez, copia la salida correcta — sin conversión manual letra por letra.
Devs Backend Traduciendo Nombres de Cabecera
Las cabeceras HTTP como Content-Type, Access-Control-Allow-Origin, X-Forwarded-For tienen grafías específicas en Header-Case. Pega un nombre de propiedad JS camelCase, copia la forma canónica de cabecera — funciona para opciones de fetch(), middleware de servidor y configuraciones de proxy.
Escritores Eliminando el Tono de Correos en MAYÚSCULAS
Los correos y mensajes de chat reenviados en mayúsculas se leen como gritos. Pégalos en Sentence case para desactivar el tono, o en Title Case para mantener una sensación de titular pulido. Los espacios y la puntuación sobreviven intactos.
Marketers Redactando Titulares
Title Case para titulares, Sentence case para el cuerpo y las leyendas — la convención que recomiendan la mayoría de las guías de estilo modernas (AP, Google, Apple). Ve ambos a la vez para comparar cuál encaja con la ubicación.
Especialistas SEO Generando Slugs de URL
kebab-case es la convención de slug de URL que espera cada CMS. Pega un título de página con puntuación y capitalización, copia la salida kebab-case — listo para colocar en un campo de slug de WordPress, Ghost o Hugo. El tokenizador elimina la puntuación limpiamente.
DBAs Nombrando Columnas y Tablas
snake_case para nombres de columna y tabla es la convención universal en PostgreSQL, MySQL, SQLite y la mayoría de ORMs. Pega una etiqueta legible o un nombre de campo de API camelCase, copia la versión snake_case.
Devs Frontend Creando Clases CSS
kebab-case para nombres de clase es la convención de la especificación CSS (BEM, utilidades Tailwind y la mayoría de sistemas de diseño). Pega un nombre de componente JS en camelCase, copia la versión kebab-case para el módulo CSS correspondiente.
Creadores de Memes y Entusiastas del Sarcasmo
aLtErNaTiNg cAsE y RaNdOm CaSe son los formatos del meme de spongebob usados para burlarse o citar sarcásticamente. Re-mezclar vuelve a tirar la variante aleatoria sin cambiar la entrada — genera unas cuantas hasta que una se sienta bien.

Reglas de Tokenización y Conversión

Reglas de Tokenización
Los tokens se extraen insertando un espacio en cuatro límites: minúscula-a-mayúscula (parseHTML → parse HTML), mayúscula-a-mayúscula-a-minúscula (XMLHttp → XML Http), letra-a-dígito (file2 → file 2) y dígito-a-letra (2x → 2 x). Luego los separadores comunes (espacios en blanco, guion, guion bajo, punto, barra, barra invertida) se colapsan a espacios únicos. Los tokens resultantes se dividen, se recortan y se eliminan los vacíos. Esto coincide con las convenciones del paquete lodash y change-case.
Las Salidas de Caso de Programación Eliminan la Puntuación
camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, path/case y Header-Case producen identificadores limpios — la puntuación en la entrada (comas, puntos, paréntesis) se elimina porque no puede aparecer en la mayoría de identificadores de lenguaje. Si necesitas puntuación preservada, usa una de las salidas de caso de texto (UPPERCASE, lowercase, Title, Sentence, iNVERSE, aLtErNaTiNg, RaNdOm).
Las Salidas de Caso de Texto Preservan Todo
UPPERCASE, lowercase, Title Case, Sentence case, iNVERSE cASE, aLtErNaTiNg cAsE y RaNdOm CaSe preservan los espacios en blanco, los saltos de línea y la puntuación. Pega un documento de varios párrafos y la estructura sobrevive — solo cambia el caso de las letras. Estas transformaciones operan carácter a carácter sin tokenización.
Title Case (Variante Ingenua)
Title Case en esta herramienta capitaliza la primera letra de cada palabra separada por espacios y pone el resto en minúscula. Las guías de estilo APA, Chicago y AP recomiendan poner en minúscula artículos y preposiciones cortos (a, an, the, of, in, for); esas variantes son lo bastante distintas como para justificar una herramienta dedicada. Usa este Title Case para capitalización general; usa una herramienta específica de titulares para titulares estilo AP.
Detección de Límite de Sentence Case
Sentence case pone todo en minúscula, luego capitaliza la primera letra de la entrada y la primera letra después de cualquier terminador de oración (. ! ? 。 ! ?) seguido de espacios en blanco. El detector no intenta desambiguar abreviaturas como Mr. o U.S.A. — los falsos positivos ahí son más ruidosos que el raro caso que se pierde.
Alternating Case Usa un Conmutador Global
aLtErNaTiNg cAsE alterna entre minúscula y mayúscula en cada letra, con un conmutador global que cruza los límites de palabra. Los caracteres no-letra no avanzan el conmutador. Esto coincide con la convención usada por convertcase.net y otros generadores de memes — predecible y reproducible para la misma entrada.
Random Case Usa Math.random()
RaNdOm CaSe ejecuta un lanzamiento de moneda independiente por letra usando Math.random(). Cada clic en Re-mezclar produce un resultado diferente. La fuente aleatoria no es criptográficamente fuerte; está bien para texto casual pero no la uses para generación de contraseñas (usa el generador de contraseñas dedicado para eso).
Mapeos de Caso Unicode y Conscientes del Locale
Usa `toLocaleLowerCase()` y `toLocaleUpperCase()` para que la İ/ı turca con/sin punto, la ß alemana (se convierte a SS en mayúsculas en el manejo estándar) y otros mapeos de caso sensibles al locale se manejen correctamente. La tokenización usa \p{L} para reconocer letras de cualquier escritura. Las salidas de caso de programación se restringen por defecto a caracteres ASCII de identificador para compatibilidad entre lenguajes.

Buenas Prácticas para Elegir un Caso

Elige el Caso que Coincide con tu Base de Código
El caso correcto para un nombre de variable no es el más bonito — es el que tu base de código ya usa. JavaScript y Java: camelCase para variables y métodos, PascalCase para clases. Python, Ruby, Rust: snake_case para todo excepto nombres de clase (que son PascalCase). CSS y URLs: kebab-case. Variables de entorno y constantes: CONSTANT_CASE. Sigue la convención local; la consistencia gana a la corrección teórica.
Usa Sentence Case para Microcopy de UI
Los sistemas de diseño de Google, Apple y Microsoft estandarizaron Sentence case para etiquetas de botón, ítems de menú, texto de diálogo y otro microcopy de UI a lo largo de la última década. Title Case en UI ahora se lee como anticuado y ligeramente gritón. Reserva Title Case para titulares principales, títulos de página y títulos de libro.
Elimina las Comillas Inteligentes Antes de Pegar
Pegar desde Microsoft Word, Google Docs o Apple Notes puede traer comillas inteligentes (""), rayas (—) y otros caracteres tipográficos que se ven idénticos al ASCII pero codifican de forma distinta. Las transformaciones de caso los manejan correctamente, pero si estás convirtiendo a un identificador de caso de programación, reemplázalos manualmente por equivalentes ASCII primero para evitar sorpresas en tu editor de código.
Convierte un Identificador a la Vez para Casos de Programación
camelCase, snake_case, kebab-case, etc. producen un solo identificador a partir de toda la entrada. Si pegas una frase en snake_case, obtienes un identificador largo — técnicamente correcto pero rara vez lo que quieres. Para conversión de identificadores, pega una palabra o compuesto a la vez. Para texto del tamaño de un párrafo, usa las transformaciones de caso de texto.
Verifica los Round-Trips de Acrónimos Antes de Refactorizar
XMLHttpRequest → xml_http_request → XmlHttpRequest es el round-trip estándar; el acrónimo queda en title-case en la vuelta. Si tu base de código preserva la capitalización original del acrónimo (XmlHttpRequest se queda como XMLHttpRequest), el round-trip no coincidirá exactamente. Comprueba algunas conversiones antes de hacer un renombrado en todo el proyecto.
Usa Header-Case para HTTP/1.1, kebab-case para HTTP/2
HTTP/1.1 no distingue entre mayúsculas y minúsculas para los nombres de cabecera, pero Header-Case (Content-Type, X-Forwarded-For) es la grafía convencional legible para humanos que todo el mundo usa. HTTP/2 requiere explícitamente nombres de cabecera en minúscula — usa kebab-case para esos (content-type, x-forwarded-for). En caso de duda, kebab-case funciona en ambos protocolos.
Re-Mezcla Random Case por Variedad, No por Seguridad
Random Case es divertido para memes pero no aleatorio en el sentido criptográfico — usa Math.random(), que está bien para variedad visual pero no para nada donde la aleatoriedad importe (generación de contraseñas, tokens de seguridad, tests A/B). Usa el generador de contraseñas dedicado para aleatoriedad criptográfica.

Preguntas Frecuentes

¿Qué hace un convertidor de mayúsculas y minúsculas?
Un convertidor de mayúsculas toma un trozo de texto y lo re-renderiza en un caso diferente: UPPERCASE, lowercase, Title Case, Sentence case o uno de los casos de nomenclatura de programación como camelCase, PascalCase, snake_case, kebab-case y CONSTANT_CASE. Esta herramienta muestra las 15 variantes comunes a la vez para que no tengas que elegir qué conversión quieres antes de pegar; pegas, escaneas la rejilla y copias la que necesitas. Corre enteramente en tu navegador con JavaScript: sin registro, sin subida, sin ida y vuelta al servidor, y sin analítica sobre el texto que pegas.
¿Cuál es la diferencia entre camelCase, PascalCase y snake_case?
Las tres son convenciones para nombrar identificadores multi-palabra en código. camelCase empieza con minúscula y capitaliza cada palabra siguiente sin separador: `userProfileImage`. PascalCase capitaliza cada palabra incluida la primera: `UserProfileImage` — usado para nombres de clase en la mayoría de lenguajes y nombres de componentes en React. snake_case pone todo en minúscula y une palabras con guiones bajos: `user_profile_image` — la convención para Python, Ruby, Rust y la mayoría de nombres de columna de base de datos. kebab-case es la misma idea con guiones: `user-profile-image` — usado para nombres de clase CSS, slugs de URL y atributos HTML. CONSTANT_CASE es mayúsculas con guiones bajos: `USER_PROFILE_IMAGE` — para constantes y variables de entorno. Elige la que coincida con el estilo existente de tu base de código.
¿Cómo maneja el tokenizador acrónimos como XMLHttpRequest o parseHTML?
El tokenizador reconoce el límite mayúscula-mayúscula-minúscula (XMLHttp → XML / Http) y el límite minúscula-mayúscula (parseHTML → parse / HTML). Así que `XMLHttpRequest` se convierte en los tokens `XML`, `Http`, `Request`, y se transforma limpiamente a `xml_http_request`, `xml-http-request`, `XML_HTTP_REQUEST` o `Xml-Http-Request`. Esto coincide con la convención usada por lodash, el paquete npm change-case y PEP 8 de Python: el estándar de facto para manejo de acrónimos en lenguajes. La única concesión: al convertir de vuelta a PascalCase, el acrónimo queda en title-case (`XMLHttpRequest` hace round-trip a `XmlHttpRequest`), que también es la convención estándar para evitar ambigüedad en la re-tokenización.
¿Qué es Title Case frente a Sentence case?
Title Case capitaliza la primera letra de cada palabra, dejando todo lo demás en minúscula: `Hello World Example`. Esta herramienta usa la variante ingenua — cada palabra capitalizada — que es lo que la mayoría de la gente entiende por "title case" en uso casual. Algunas guías de estilo (APA, Chicago, AP) recomiendan poner en minúscula artículos cortos y preposiciones como `a`, `an`, `the`, `of`, `in`, `for`; esas variantes son lo bastante distintas como para pertenecer a una herramienta "headline" separada. Sentence case capitaliza solo la primera letra de cada oración (y la primera letra de la entrada): `Hello world example. This is a sentence.` Usa Title Case para encabezados y títulos de libros, Sentence case para descripciones, leyendas y texto del cuerpo.
¿Mi texto se sube a algún sitio?
No. Cada transformación de caso corre 100% en tu navegador con JavaScript. Tu texto nunca se transmite, nunca se almacena en ningún servidor, nunca se registra y nunca lo analizan humanos ni IA. Puedes verificarlo en la pestaña de Red de tu navegador: escribir en el editor o hacer clic en Copiar genera cero peticiones de red. Esto hace que la herramienta sea segura para nombres de productos no anunciados, esquemas internos de variables, borradores de textos legales, notas de fuentes periodísticas y cualquier otro material confidencial. La herramienta tampoco usa cookies para el texto de entrada.
¿Cómo convierto texto a camelCase desde cualquier otro caso?
Pega tu texto en el editor de arriba y copia la tarjeta de salida camelCase. Funciona desde cualquier formato de partida: una frase con espacios (`hello world` → `helloWorld`), snake_case (`hello_world` → `helloWorld`), kebab-case (`hello-world` → `helloWorld`), PascalCase (`HelloWorld` → `helloWorld`), CONSTANT_CASE (`HELLO_WORLD` → `helloWorld`) o incluso un acrónimo mixto (`XMLHttpRequest` → `xmlHttpRequest`). El tokenizador inteligente reconoce todos los límites comunes automáticamente, así que no tienes que pre-limpiar la entrada.
¿La herramienta soporta Unicode y letras no inglesas?
Sí. Las transformaciones de caso usan los métodos JavaScript Intl-conscientes `toLocaleLowerCase()` y `toLocaleUpperCase()`, que manejan correctamente la `İ`/`ı` turca con/sin punto, la `ß` alemana (que se convierte a `SS` en mayúsculas en el manejo estándar), la sigma final griega y otros mapeos de caso sensibles al locale. La tokenización usa patrones regex Unicode-conscientes que reconocen letras de cualquier escritura (`\p{L}`). Para las salidas de caso de programación (camelCase, snake_case, etc.), el tokenizador trata por defecto solo letras ASCII y dígitos como caracteres de identificador — lo que coincide con las restricciones de la mayoría de lenguajes de programación — así que las letras no latinas en la entrada pasan sin cambios dentro de los tokens.
¿Cuál es la diferencia entre dot.case y path/case?
Ambos son identificadores en minúscula unidos por separador — la única diferencia es el separador. `dot.case` usa puntos: `hello.world.example`. Es común para namespacing (paquetes Java, métodos de Lodash, rutas de campo de MongoDB) y claves de archivo de configuración (TOML, INI). `path/case` usa barras: `hello/world/example`. Es la convención para rutas de URL, rutas del sistema de archivos y refs de Git. Ambos se producen desde la misma tokenización, así que convertir entre ellos es solo un cambio de separador. Usa dot.case cuando el identificador representa una clave jerárquica dentro de datos; usa path/case cuando representa una ubicación literal.
¿Por qué el tokenizador divide en números (file2x → file, 2, x)?
Los números como límites de token son la convención que sigue la mayoría de bases de código modernas — `parseUTF8` debería hacer round-trip a `parse_utf_8` (o `parseUtf8` en PascalCase), no `parseutf_8`. El tokenizador trata cada transición letra-a-dígito y dígito-a-letra como un límite, así que `file2x` se convierte en `file / 2 / x`. Si prefieres mantener los dígitos pegados a las letras anteriores, pega una versión tokenizada manualmente (`file 2x` con un espacio literal) y el tokenizador respetará el espacio. Esta convención coincide con el paquete change-case y con PEP 8 para Python.
¿En qué se diferencia alternating case de random case?
Alternating case (aLtErNaTiNg cAsE) alterna entre minúscula y mayúscula de forma determinista — cada letra impar es mayúscula, cada letra par es minúscula, sin importar el límite de palabra. El resultado es el mismo cada vez para la misma entrada. Random case (RaNdOm CaSe) voltea cada letra independientemente con un lanzamiento de moneda, así que cada pegado produce un resultado diferente. Haz clic en Re-mezclar para volver a tirar la salida aleatoria sin limpiar el editor. Ambos son formatos de texto de burla (el llamado "meme de spongebob"); alternating es la variante estricta, random es la caótica. Otras salidas de caso no se ven afectadas por Re-mezclar.
¿Esto convierte nombres de cabecera HTTP?
Sí — usa la salida Header-Case. Capitaliza cada token y une con guiones, produciendo grafías canónicas de cabecera HTTP como `Content-Type`, `Access-Control-Allow-Origin` y `X-Forwarded-For`. Pega un nombre de propiedad JS camelCase (`accessControlAllowOrigin`) y obtienes la grafía exacta de cabecera que usa la especificación HTTP/1.1, lista para colocar en un objeto de opciones `fetch()` o en una respuesta del lado del servidor. Ten en cuenta que HTTP/2 prefiere nombres de cabecera en minúscula (usa kebab-case para esa variante); HTTP/1.1 no distingue entre mayúsculas y minúsculas, pero la grafía Header-Case es la forma convencional legible para humanos.
¿Puedo convertir un párrafo entero a la vez?
Sí — para las transformaciones de caso de texto (UPPERCASE, lowercase, Title Case, Sentence case, iNVERSE, aLtErNaTiNg, RaNdOm), la herramienta preserva todos los espacios en blanco, saltos de línea y puntuación por diseño, así que puedes pegar un párrafo entero o incluso un documento de varias páginas. Las transformaciones de caso de programación (camelCase, snake_case, etc.) eliminan deliberadamente la puntuación porque producen identificadores; pegar un párrafo en camelCase lo colapsará en un identificador gigantesco, lo que técnicamente es la transformación correcta pero rara vez útil. Para texto del tamaño de un documento, usa solo las salidas de caso de texto; para conversión de identificadores, pega un identificador a la vez.
¿Cuán preciso es esto frente a lodash, change-case u otras librerías de caso?
El tokenizador y las transformaciones de caso producen una salida byte-idéntica al paquete npm change-case (`change-case` v5+) para todas las entradas comunes — mismo manejo de acrónimos, misma regla de número-como-límite, mismo reconocimiento de letras Unicode. `_.camelCase`, `_.snakeCase`, `_.kebabCase` y `_.startCase` de lodash usan un tokenizador ligeramente diferente (divide en más caracteres y trata algunas clases Unicode de forma distinta), pero para entradas ASCII las salidas coinciden en los casos comunes. El Title Case de esta herramienta es la variante ingenua (cada palabra capitalizada); `_.startCase` de lodash hace lo mismo. Si necesitas reglas APA o Chicago de title-case (minúscula en preposiciones cortas), usa una librería dedicada de title-case — esta herramienta optimiza para el caso que la mayoría de la gente busca.
¿Por qué hay tanto Sentence case como Title Case si se parecen?
Divergen en cuanto la entrada tiene más de una palabra. Sentence case pone todo en minúscula y capitaliza solo la primera letra de cada oración: `hello world. this is a sentence.` se convierte en `Hello world. This is a sentence.` Title Case capitaliza cada palabra: `Hello World. This Is A Sentence.` Sentence case es la convención para texto del cuerpo, leyendas y microcopy de UI en la mayoría de guías de estilo modernas (Google, Microsoft, Apple). Title Case es la convención para encabezados, títulos de página, títulos de libro y títulos de ventanas de diálogo en tipografía clásica. El estilo web moderno prefiere cada vez más Sentence case para todo excepto los titulares principales.

Herramientas relacionadas

Ver todas las herramientas →

Probador de Regex Gratis — Depura Patrones en Línea

Procesamiento de Texto

Prueba patrones de expresiones regulares al instante contra cualquier texto. Resaltado de coincidencias en vivo, grupos de captura, vista previa de reemplazo, división y explicador. Regex JavaScript, 100% privado, sin registro.

Comparar dos textos — Diff

Procesamiento de Texto

Compara dos textos al instante en tu navegador. Vista lado a lado, resaltado palabra por palabra, exportación a diff unificado, opciones para ignorar mayúsculas/espacios/líneas vacías. 100 % navegador — sin uploads.

Contador de Palabras y Caracteres Gratis

Procesamiento de Texto

Cuenta palabras, caracteres, oraciones, párrafos y tiempo de lectura al instante. Contador de palabras en tiempo real con límites de Twitter, meta descripción e Instagram. Gratis, privado y sin registro.

Conversor de Bases — Binario, Hex, Decimal, Octal

Herramientas de Conversión

Convierte números entre binario, hexadecimal, decimal, octal y cualquier base personalizada (2-36) al instante. Gratis, privado, sin registro — todo el procesamiento ocurre en tu navegador.

Decodificador y Codificador Base64

Codificación y Formato

Decodifica y codifica Base64 online de forma gratuita. Conversión en tiempo real con soporte completo de UTF-8 y emojis. 100% privado — funciona en tu navegador. Sin registro.

Generador Crontab y Constructor de Expresiones Cron

Fecha y Hora

Construye, valida y decodifica expresiones cron en el navegador. Vista previa de próximas ejecuciones en hora local o UTC. POSIX 5 campos, presets y descripción natural. Gratis y privado.