Ejemplo de Java

Convertir snake_case a camelCase en Java

Divide tokens por underscores, normaliza con Locale.ROOT y capitaliza todos después del primero.

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

Código Java

import java.util.Locale;

static String snakeToCamel(String value) {
    String cleaned = value.trim().replaceAll("^_+|_+$", "");
    if (cleaned.isEmpty()) return "";
    String[] parts = cleaned.split("_+");
    StringBuilder result = new StringBuilder(parts[0].toLowerCase(Locale.ROOT));
    for (int i = 1; i < parts.length; i++) {
        String part = parts[i].toLowerCase(Locale.ROOT);
        if (part.isEmpty()) continue;
        result.append(Character.toUpperCase(part.charAt(0)));
        result.append(part.substring(1));
    }
    return result.toString();
}

snakeToCamel("user_profile_image");
// "userProfileImage"

Locale.ROOT evita que el casing de identificadores dependa del locale del usuario del sistema.

StringBuilder une tokens con eficiencia; separadores mixtos y acrónimos necesitan reglas adicionales.

Casos límite a tener en cuenta

  • El casing de acrónimos debe seguir la política del codebase.
  • Usa Locale.ROOT para normalizar identificadores, no el locale del usuario.
  • Convertir recursivamente claves JSON es distinto de transformar una cadena.
  • Claves fuente distintas pueden caer en la misma clave camelCase y necesitan una política de conflicto.

Ejemplo

AntesDespués
user_profile_imageuserProfileImage
__user__profile__userProfile
api_response_urlapiResponseUrl
created_atcreatedAt

Código Java

assert snakeToCamel("user_profile_image").equals("userProfileImage");
assert snakeToCamel("__user__profile__").equals("userProfile");
assert snakeToCamel("api_response_url").equals("apiResponseUrl");
assert snakeToCamel("created_at").equals("createdAt");

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.