TypeScript の例

TypeScript で snake_case を camelCase に変換

型付き helper で underscore 区切り token を処理し、予測可能な camelCase 文字列を返せます。

Camel Case Converter 編集チーム 著公開日 2026/09/12最終レビュー

TypeScript コード

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"

string を受け取り string を返すため、typed utility、adapter、mapping code で再利用しやすい形です。

runtime の値変換と type-level の key remapping は別物で、network data は runtime 変換が必要です。

考慮すべきエッジケース

  • 略語規則によって apiResponseUrl と apiResponseURL のどちらを使うか変わります。
  • object key を再帰変換する場合、TypeScript 型が runtime 結果をどこまで表すか決める必要があります。
  • 混在した区切りにはより広い tokenizer が必要です。
  • 異なる元キーが同じ camelCase キーになる場合は上書きしてはいけません。

変換前変換後
user_profile_imageuserProfileImage
__user__profile__userProfile
api_response_urlapiResponseUrl
created_atcreatedAt

TypeScript コード

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)
}

オンラインで変換を試す

ブラウザ版ツールで単発確認、バッチ、略語処理、混在した命名形式をテストできます。

検出: snake_case
camelCase 出力
userProfileImageUrl

すべての命名形式

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

変換はブラウザ内で行われ、入力は変換サーバーへ送信されません。