Guía de claves de objeto en JavaScript

Convertir claves de objeto a camelCase en JavaScript

Si una API devuelve JSON snake_case y la app usa camelCase, convierte las claves una vez en el límite en lugar de renombrar propiedades por toda la app.

Por Equipo editorial de Camel Case ConverterPublicado 12 sept 2026Última revisión

Implementación en JavaScript

function toCamelKey(key) {
  return key.replace(/[-_]+([a-zA-Z0-9])/g, (_, char) => char.toUpperCase()).replace(/^([A-Z])/, (char) => char.toLowerCase())
}

function keysToCamel(value) {
  if (Array.isArray(value)) return value.map(keysToCamel)
  if (value === null || typeof value !== "object") return value
  const output = {}
  for (const [key, child] of Object.entries(value)) {
    const nextKey = toCamelKey(key)
    if (Object.hasOwn(output, nextKey)) throw new Error(`Key collision: ${nextKey}`)
    output[nextKey] = keysToCamel(child)
  }
  return output
}

Procesa arrays antes del objeto genérico para convertir cada objeto contenido y conservar escalares.

La detección de colisiones evita que dos claves normalizadas al mismo camelCase sobrescriban un valor.

Casos límite en producción

  • API, URL, UUID y OAuth pueden requerir reglas de acrónimos específicas.
  • _id, __typename y $schema pueden tener prefijos semánticos que conviene preservar.
  • Conversión profunda y solo nivel superior son contratos distintos.
  • Date, Map, Set e instancias no JSON requieren tratamiento separado.

Probar claves de objeto online

Pega un objeto JSON para probar conversión recursiva, solo nivel superior, exclusiones, prefijos _/$ y colisiones.

Suelta un archivo .json o elige uno de tu dispositivo

Los archivos se leen solo en tu navegador. Tamaño máximo: 5 MB.

JSON convertido
{
  "userProfile": {
    "firstName": "Ada",
    "createdAt": "2026-09-12"
  }
}

El análisis, lectura de archivos, formato y conversión se ejecutan localmente en tu navegador. El JSON no se envía a un servidor de conversión.