TypeScript-Beispiel

snake_case in TypeScript zu camelCase konvertieren

Ein typisierter Helper kann underscore-getrennte Tokens verarbeiten und einen vorhersehbaren camelCase-String zurückgeben.

Von Camel Case Converter RedaktionVeröffentlicht 12.09.2026Zuletzt geprüft

TypeScript-Code

function snakeToCamel(value: string): string {
  const parts = value.trim().replace(/^_+|_+$/g, "").split(/_+/).filter(Boolean)
  if (parts.length === 0) return ""
  return parts[0].toLowerCase() + parts.slice(1).map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase()).join("")
}

snakeToCamel("user_profile_image")
// "userProfileImage"

Eine string→string-Signatur lässt sich gut in Utilities, Adaptern und Mapping-Code wiederverwenden.

Type-Level-Remapping und Runtime-Datenkonvertierung sind getrennte Ebenen; Netzwerkdaten müssen wirklich transformiert werden.

Zu beachtende Grenzfälle

  • Akronymregeln können apiResponseURL statt apiResponseUrl verlangen.
  • Bei rekursiven Object Keys muss festgelegt werden, wie weit TypeScript-Typen die Runtime-Form abbilden.
  • Gemischte Separatoren erfordern eine allgemeinere Tokenisierung.
  • Zwei Quellschlüssel können denselben Zielschlüssel erzeugen und dürfen nicht still überschrieben werden.

Beispiel

VorherNachher
user_profile_imageuserProfileImage
__user__profile__userProfile
api_response_urlapiResponseUrl
created_atcreatedAt

TypeScript-Code

const cases: Array<[string, string]> = [
  ["user_profile_image", "userProfileImage"],
  ["__user__profile__", "userProfile"],
  ["api_response_url", "apiResponseUrl"],
  ["created_at", "createdAt"],
]

for (const [input, expected] of cases) {
  if (snakeToCamel(input) !== expected) throw new Error(input)
}

Konvertierung online testen

Nutze den Browser-Converter für schnelle Tests, Batch-Werte, Akronyme und gemischte Namensformate.

Erkannt: snake_case
camelCase-Ausgabe
userProfileImageUrl

Alle Namensformate

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

Die Konvertierung findet lokal in deinem Browser statt. Die Eingabe wird nicht an einen Conversion-Server gesendet.