Ejemplo de Python

Convertir snake_case a camelCase en Python

Divide snake_case por guiones bajos, conserva el primer token en minúsculas y capitaliza los siguientes.

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

Código Python

def snake_to_camel(value: str) -> str:
    parts = [part for part in value.strip("_").split("_") if part]
    if not parts:
        return ""
    head, *tail = parts
    return head.lower() + "".join(part[:1].upper() + part[1:].lower() for part in tail)

print(snake_to_camel("user_profile_image"))
# userProfileImage

Elimina underscores en los bordes y tokens vacíos por separadores repetidos para un resultado determinista.

Python suele usar snake_case; la conversión es especialmente útil en límites con JSON, APIs o frontends JavaScript.

Casos límite a tener en cuenta

  • El formato de acrónimos depende de la convención del sistema consumidor.
  • Los dict anidados necesitan conversión recursiva de claves, no solo una función de cadena.
  • Mayúsculas, guiones y espacios requieren tokenización más general.
  • Para contratos API fijos suele ser más claro convertir en serialización/deserialización.

Ejemplo

AntesDespués
user_profile_imageuserProfileImage
__user__profile__userProfile
api_response_urlapiResponseUrl
created_atcreatedAt

Código Python

cases = {
    "user_profile_image": "userProfileImage",
    "__user__profile__": "userProfile",
    "api_response_url": "apiResponseUrl",
    "created_at": "createdAt",
}

for value, expected in cases.items():
    assert snake_to_camel(value) == expected

Probar la conversión online

Usa el convertidor para comprobaciones rápidas, lotes, acrónimos o entradas con varias convenciones.

Detectado: snake_case
Salida camelCase
userProfileImageUrl

Todos los formatos de nombres

camelCase
userProfileImageUrl
PascalCase
UserProfileImageUrl
snake_case
user_profile_image_url
kebab-case
user-profile-image-url
CONSTANT_CASE
USER_PROFILE_IMAGE_URL
dot.case
user.profile.image.url
path/case
user/profile/image/url

La conversión ocurre localmente en tu navegador. Tu entrada no se envía a un servidor de conversión.