Conversor de Case
Convierte texto a camelCase, snake_case, kebab-case y más
Procesando…
0.0
No se ha bloqueado: el resultado aparecerá cuando termine el cálculo.
Acerca de Conversor de Case
El conversor primero divide la entrada en palabras y luego las vuelve a unir de nueve maneras. La división sigue tres reglas. Una minúscula o un dígito seguidos de una mayúscula marcan un límite (fooBar → foo Bar). Una serie de mayúsculas seguida de una mayúscula con minúscula se corta antes de esa pareja (XMLHttp → XML Http). Y todo lo que no sea letra ni dígito, como espacios, guiones bajos, guiones o puntos, actúa como separador. Cuando un resultado parece raro, casi siempre es porque las palabras se cortaron donde no esperabas.
Qué resultado es el “correcto” depende del lenguaje y del equipo. La misma frase, “XML HTTP request”, se convierte en identificadores distintos según las guías oficiales de Python, Java, Go y C#.
Lo que dicen las guías de estilo oficiales
En los estilos de identificador (camelCase, PascalCase) esta herramienta sigue la regla de Java y pone en mayúscula solo la primera letra de cada palabra, siglas incluidas. Por eso el PascalCase de XMLHttpRequest es XmlHttpRequest. Si tu código sigue PEP 8 o las convenciones de Go, restaura a mano las mayúsculas de las siglas después de convertir. En los estilos de texto (Title Case, Sentence case) una palabra de dos o más mayúsculas, como XML, JSON o MP3, se trata como sigla y se deja igual. La excepción es una entrada escrita toda en mayúsculas (HELLO WORLD, MAX_RETRY), donde no se pueden distinguir las siglas y todas las palabras se convierten.
- Python (PEP 8): funciones y variables en snake_case, clases en CapWords (PascalCase), constantes en UPPER_CASE y módulos con nombres cortos en minúsculas. Para siglas dentro de CapWords pide mantener todas sus letras en mayúscula: HTTPServerError es mejor que HttpServerError.
- Java (Google Java Style Guide): trata la sigla como una palabra normal y pone en mayúscula solo la inicial. XmlHttpRequest y no XMLHTTPRequest; newCustomerId y no newCustomerID.
- Go (Code Review Comments): las siglas mantienen un caso uniforme, así que URL o url, nunca Url; ServeHTTP en vez de ServeHttp; appID en vez de appId. Go usa MixedCaps también para constantes: una constante no exportada es maxLength, no MAX_LENGTH.
- C# / .NET (Framework Design Guidelines): PascalCase para miembros y tipos públicos, camelCase para parámetros y ningún guion bajo. Las siglas de dos letras van enteras en mayúscula (IOStream) y las más largas solo con la inicial (HtmlTag). Id y Ok se tratan como palabras.
- URL, clases CSS y nombres de archivo: lo habitual es kebab-case. La guía de Google sobre URL recomienda guiones en lugar de guiones bajos para separar palabras.
Cuando la división sorprende
Los nombres conocidos que empiezan en minúscula y siguen en mayúscula, como iPhone, iPad, iOS, macOS o eBay, están en una lista integrada y se mantienen como una sola palabra: snake_case da iphone, camelCase iPhoneCase y Title Case iPhone Case. Los que no están en la lista, como aValue, se siguen dividiendo según las reglas en a y Value. Un dígito seguido de mayúscula también es un límite, pero un dígito seguido de minúscula no. Por eso user_id2FA se divide en user, id2 y FA, y camelCase devuelve userId2Fa. Lo más sencillo es marcar tú los límites con espacios: “user id 2FA”.
Los dígitos iniciales se conservan. 2024Report se convierte en 2024_report o 2024Report, válido como nombre de archivo pero no como identificador en la mayoría de lenguajes, que no permiten empezar por un dígito.
Las letras con tilde y la ñ se conservan en todos los estilos: año_fiscal sigue siendo año_fiscal en snake_case y AñoFiscal en PascalCase. Muchos lenguajes aceptan identificadores Unicode, pero si tu proyecto exige ASCII tendrás que quitarlas aparte, por ejemplo con el generador de slugs.
La i turca y la ß alemana
Las mayúsculas y minúsculas dependen del idioma. El turco tiene una pareja con punto (i, İ) y otra sin punto (ı, I), así que según sus reglas la minúscula de I es ı. El toLowerCase de JavaScript sin configuración regional sigue la correspondencia por defecto de Unicode y convierte İstanbul en i̇stanbul: una i normal seguida de un punto combinable (U+0307), un carácter invisible de más dentro de un identificador. Como los idiomas de esta página (español, inglés, coreano y japonés) no son el turco, la herramienta pasa İ a una i normal y devuelve istanbul. No aplica la regla turca de que I en minúscula es ı, así que DİYARBAKIR queda diyarbakir, y ı en mayúscula da una I normal. Si conviertes texto turco, revisa el resultado o usa toLocaleLowerCase(“tr”) en tu propio código.
La ß alemana pasa a mayúsculas como dos letras, SS, de modo que straße se convierte en STRASSE en CONSTANT_CASE. Al volver a minúsculas se obtiene strasse, no straße. Es decir, el cambio de mayúsculas no siempre es reversible, algo a tener en cuenta si usas cadenas normalizadas como claves.
Ejemplos
Un identificador con sigla
- Entrada
getHTTPResponseCode- Resultado
camel: getHttpResponseCode · snake: get_http_response_code · CONSTANT: GET_HTTP_RESPONSE_CODE
HTTP se detecta como una sola palabra por la regla 2 y se escribe al estilo Java como Http. En Go conservarías getHTTPResponseCode tal cual.
XMLHttpRequest en todos los estilos
- Entrada
XMLHttpRequest- Resultado
camel: xmlHttpRequest · Pascal: XmlHttpRequest · kebab: xml-http-request · Title: XML Http Request
El PascalCase coincide exactamente con la guía de Java de Google. PEP 8 preferiría XMLHTTPRequest como nombre de clase. Title Case conserva XML porque es una sigla.
Title Case conserva las siglas
- Entrada
naïve JSON- Resultado
Title: Naïve JSON · Pascal: NaïveJson · snake: naïve_json
Title Case reconoce JSON como sigla y conserva sus mayúsculas, mientras que PascalCase sigue la regla de Java y escribe Json. Las tildes se conservan.
ß en mayúsculas
- Entrada
straße größe- Resultado
CONSTANT: STRASSE_GRÖSSE · camel: straßeGröße
Solo las salidas en mayúsculas cambian ß por SS.
Cómo se usa
- Escribe o pega un identificador o una frase.
- Aparecen los nueve estilos a la vez; copia el que necesites.
- Si el nombre contiene siglas, ajusta sus mayúsculas a la convención de tu lenguaje.
Preguntas frecuentes
¿Qué diferencia hay entre camelCase y PascalCase?
Solo la primera letra. userName es camelCase y UserName es PascalCase. La mayoría de lenguajes reservan PascalCase para clases y tipos.
¿Las claves JSON van en snake_case o camelCase?
La especificación JSON no lo dice. Las API que consume JavaScript directamente suelen usar camelCase, y los back ends en Python o Ruby, snake_case. Lo importante es no mezclarlos en una misma API.
¿Por qué XMLHttpRequest se convierte en xmlHttpRequest?
Una serie de mayúsculas seguida de una mayúscula con minúscula marca una palabra nueva, así que se divide en XML, Http y Request. Luego camelCase pone en minúscula toda la primera palabra.
¿Cómo se nombran las constantes?
En CONSTANT_CASE, mayúsculas con guiones bajos, en C, Java, Python y JavaScript. Go es la excepción y usa MixedCaps.
Fuentes
- PEP 8 — Style Guide for Python Code
- Google Java Style Guide — 5.3 Camel case
- Go Code Review Comments — Initialisms
- .NET Capitalization Conventions
- Unicode SpecialCasing.txt
Revisado el: