Convertidor de Nomenclatura y Mayúsculas

Transforme cadenas de texto e identificadores de código entre 10 convenciones de nomenclatura estándar con detección determinista de límites léxicos y ejecución local en el navegador.

Texto de entrada
camelCaselowerCamelCase
helloWorldExample
PascalCaseUpperCamelCase
HelloWorldExample
snake_casenotación de serpiente
hello_world_example
kebab-casespinal-case
hello-world-example
SCREAMING_SNAKE_CASECONSTANT_CASE
HELLO_WORLD_EXAMPLE
dot.casenotación por puntos
hello.world.example
Title CaseEstilo titular
Hello World Example
Sentence caseEstilo de frase
Hello world example
MAYÚSCULASUPPERCASE
HELLO WORLD EXAMPLE
minúsculaslowercase
hello world example

Resumen de Controles Rápidos

Análisis Reactivo en Vivo

Las cadenas de entrada se procesan en cada pulsación de tecla, sintetizando los 10 formatos simultáneamente sin necesidad de ejecución manual.

Preservar Números

Aísla fragmentos numéricos como tokens independientes (por ejemplo, transformando "item2List" en "item_2_list").

Preservar Acrónimos

Mantiene letras mayúsculas consecutivas (como "XMLParser" o "HTTP") como bloques semánticos unificados en vez de letras sueltas.

Modo Multilínea por Lotes

Procesa cada fila de forma independiente, conservando la estructura de líneas para listas de variables, columnas SQL o tipos enumerados.

Estilos de Mayúsculas y Convenciones de Nomenclatura en Ingeniería de Software

En los lenguajes de programación y sistemas de datos, el espacio en blanco posee significado sintáctico estricto y actúa como separador léxico. En consecuencia, los identificadores compuestos por múltiples palabras (como nombres de variables, columnas de bases de datos, selectores de clase CSS y rutas de APIs REST) no pueden contener espacios en blanco directos. La ingeniería de software ha estandarizado convenciones específicas de mayúsculas y delimitadores para codificar semántica compuesta sin inducir ambigüedades léxicas ni errores de análisis sintáctico.

Las arquitecturas modernas políglotas cruzan fronteras léxicas de manera constante: una tabla de base de datos PostgreSQL diseñada en snake_case se comunica con un backend en Go o C# que utiliza PascalCase y camelCase, el cual serializa cargas útiles JSON hacia un frontend en React que finalmente renderiza elementos HTML vinculados a clases CSS en kebab-case. Un convertidor determinista automatiza estas transformaciones estructurales con precisión.

Las 10 Especificaciones Estándar de Nomenclatura

Cada convención impone reglas rigurosas sobre capitalización de términos, minúsculas y caracteres de unión:

camelCaselowerCamelCase

La primera palabra comienza en minúscula. Cada palabra sucesiva inicia con mayúscula, sin delimitadores entre los términos.

Ejemplo: getUserAccountData

Estándares: Variables, funciones y propiedades de objetos en JavaScript/TypeScript; métodos en Java y Swift.

PascalCaseUpperCamelCase

Todas las palabras inician con letra mayúscula, unidas directamente sin espacios ni signos intermedios.

Ejemplo: GetUserAccountData

Estándares: Clases, interfaces y tipos en TypeScript y C#; componentes en React; identificadores exportados en Go.

snake_casec_case

Todas las letras se escriben en minúscula, conectando cada palabra mediante un único guion bajo (_).

Ejemplo: get_user_account_data

Estándares: Variables y funciones en Python (PEP 8), identificadores en Rust, tablas y columnas en bases de datos SQL, librerías en C.

kebab-casespinal-case

Todas las letras se encuentran en minúscula, unidas por guiones medios (-).

Ejemplo: get-user-account-data

Estándares: Clases y propiedades personalizadas en CSS, slugs de rutas URL, etiquetas de componentes personalizados en HTML, paquetes npm, argumentos de CLI.

SCREAMING_SNAKE_CASECONSTANT_CASE

Todas las letras se escriben en mayúscula, separando las palabras con guiones bajos (_).

Ejemplo: GET_USER_ACCOUNT_DATA

Estándares: Variables de entorno POSIX, constantes inmutables globales, identificadores de enumeraciones en C/C++, TypeScript y Java.

dot.casenotación por puntos

Todas las letras se encuentran en minúscula, conectadas mediante puntos (.).

Ejemplo: get.user.account.data

Estándares: Paquetes en Java, claves de jerarquía en configuración (YAML/Properties), espacios de nombres en métricas (Graphite, StatsD).

Title CaseEstilo titular

La primera letra de cada palabra se escribe en mayúscula, conservando los espacios en blanco entre vocablos.

Ejemplo: Get User Account Data

Estándares: Encabezados de documentación, títulos de artículos, cabeceras de ventanas modales, menús de navegación.

Sentence caseEstilo de frase

Únicamente el primer carácter de la cadena se escribe en mayúscula; todos los caracteres y palabras subsiguientes se convierten a minúscula.

Ejemplo: Get user account data

Estándares: Textos de botones en interfaces, avisos de notificación, mensajes emergentes de ayuda (tooltips), etiquetas descriptivas de formularios.

MAYÚSCULASUPPERCASE

Convierte todos los caracteres alfabéticos a mayúsculas, conservando los espacios y signos de puntuación originales.

Ejemplo: GET USER ACCOUNT DATA

Estándares: Sentencias SQL (SELECT, WHERE), acrónimos técnicos, secciones de advertencia en contratos y términos de servicio.

minúsculaslowercase

Convierte todos los caracteres a minúsculas conservando los espacios y caracteres estructurales existentes.

Ejemplo: get user account data

Estándares: Normalización de texto, indexación insensible a mayúsculas, canonicalización de términos de búsqueda.

Convenciones de Nomenclatura por Ecosistema de Programación

Las principales guías de estilo oficiales especifican convenciones de nomenclatura precisas para cada elemento sintáctico:

Lenguaje / EcosistemaVariables y FuncionesClases y TiposConstantesArchivos y Módulos
JavaScript / TypeScriptcamelCasePascalCaseSCREAMING_SNAKE_CASEkebab-case / camelCase
Python (PEP 8)snake_casePascalCaseSCREAMING_SNAKE_CASEsnake_case
Go (Golang)camelCase / PascalCase*PascalCasecamelCase / PascalCasesnake_case
Rustsnake_casePascalCaseSCREAMING_SNAKE_CASEsnake_case
C# (.NET)camelCase (var) / PascalCase (fn)PascalCasePascalCasePascalCase
SQL (Postgres, MySQL)snake_casesnake_caseMAYÚSCULAS (Keywords)snake_case
HTML / CSSkebab-case (Custom props)kebab-case (Clases)kebab-casekebab-case

*En Go, la inicial mayúscula o minúscula determina la visibilidad del símbolo: una mayúscula inicial exporta el identificador fuera del paquete, mientras que una minúscula lo mantiene en el ámbito privado del paquete.

Mecánica de Segmentación Léxica y Detección de Límites

Una conversión precisa requiere dos etapas deterministas: la descomposición de la cadena en unidades semánticas mínimas (tokenización) y el posterior ensamblaje de dichas unidades aplicando las normas de mayúsculas y delimitadores de la convención de destino.

División por Delimitadores

Las cadenas se dividen reconociendo patrones de puntuación explícitos mediante la expresión regular [\s_\-.,;:!?/\\()[\]]+. Los separadores contiguos se unifican para impedir la generación de tokens vacíos.

Límites Numéricos

Cuando está activo, las cadenas alfanuméricas (ej. user123Name) separan las secuencias de letras de las series numéricas, produciendo ['user', '123', 'Name'] para preservar límites numéricos nítidos.

Cohesión de Acrónimos

Con la preservación de acrónimos habilitada, las secuencias de mayúsculas continuas que coinciden con /^[A-Z]+$/ se conservan como bloques indivisibles, evitando que términos como XMLParser se fragmenten en caracteres aislados.

Flujos de Trabajo Habituales en Desarrollo de Software

De Esquemas de Bases de Datos a DTOs en TypeScript

Las bases de datos relacionales suelen emplear snake_case en las definiciones de columnas (como created_at, billing_address_id). El modo multilínea permite transformar volcados de esquemas SQL en las propiedades en camelCase requeridas por las interfaces de TypeScript.

De Nombres de Componentes a Clases CSS y Slugs

En el desarrollo de librerías de componentes UI, los nombres en PascalCase (como UserNavigationMenu) se asignan directamente a clases CSS en kebab-case (user-navigation-menu) y nombres de archivo homogéneos para servidores Linux.

Variables de Entorno y Claves de Configuración

Transforme claves de configuración anidadas en notación por puntos dot.case (server.http.port) en variables SCREAMING_SNAKE_CASE (SERVER_HTTP_PORT) para despliegues 12-factor en Docker y tuberías de CI/CD.

Frequently Asked Questions

¿Cómo convierto de snake_case a camelCase (y viceversa)?

Para convertir de snake_case a camelCase, se eliminan los delimitadores como los guiones bajos y se pasa a mayúscula la letra inicial de cada palabra subsiguiente (por ejemplo, "user_profile_id" se transforma en "userProfileId"). En sentido inverso, cada letra mayúscula se precede de un guion bajo y se convierte a minúscula ("userProfileId" pasa a ser "user_profile_id"). Este convertidor calcula ambas representaciones de forma simultánea mientras escribe.

¿Cuál es la diferencia entre camelCase, PascalCase y kebab-case?

La diferencia principal radica en la tipografía de la letra inicial y los delimitadores entre palabras. camelCase comienza con una letra minúscula y escribe en mayúscula el inicio de las palabras siguientes sin separadores (ej. "myVariableName"). PascalCase pone en mayúscula la primera letra de cada una de las palabras sin separadores (ej. "MyClassName"). kebab-case utiliza únicamente minúsculas y enlaza los términos mediante guiones medios (ej. "my-css-class").

¿Cuándo debe utilizarse CONSTANT_CASE (SCREAMING_SNAKE_CASE)?

CONSTANT_CASE (letras íntegramente en mayúsculas separadas por guiones bajos, como "MAX_RETRY_COUNT" o "API_BASE_URL") es la convención canónica para variables de entorno, constantes globales inmutables, configuraciones del sistema POSIX y valores enumerados (enums) en Python, TypeScript, Java, C/C++ y contenedores Docker.

¿Cómo procesa la herramienta acrónimos como API, HTTP o URL durante la conversión?

Al activar la opción "Preservar acrónimos", las letras mayúsculas consecutivas se mantienen como unidades léxicas indivisibles en lugar de fracturarse en caracteres aislados. Por ejemplo, "fetchHTTPResponse" se transforma en snake_case como "fetch_HTTP_response" en lugar de "fetch_h_t_t_p_response".

¿Cómo puedo convertir múltiples líneas o listas de identificadores por lotes?

Active el "Modo multilínea" en la barra de opciones. La herramienta procesa y transforma cada fila de manera independiente conservando los saltos de línea originales en el resultado copiado. Esto permite la migración ágil por lotes de esquemas de bases de datos, interfaces TypeScript o encabezados de archivos CSV.