ケース変換/ camelCase · snake_case · kebab-case

任意のテキストを camelCase、PascalCase、snake_case、kebab-case など 11 種類の命名規則に即座に変換。

入力テキスト
camelCase
helloWorld
PascalCase
HelloWorld
snake_case
hello_world
kebab-case
hello-world
UPPER_SNAKE_CASE
HELLO_WORLD
Title Case
Hello World
Sentence case
Hello world
lowercase
hello world
UPPERCASE
HELLO WORLD
dot.case
hello.world
path/case
hello/world

このツールは役に立ちましたか?

ケース変換ツールとは

ケース変換ツールは、camelCase、PascalCase、snake_case、kebab-case、UPPER_SNAKE_CASEなど11種類の一般的な形式間でテキストをワンクリックで変換します。開発者はコードを書く際に異なる命名スタイルを切り替える必要があり、手動変換はミスが起こりやすく時間がかかります。

一般的な命名規則の使用场景

JavaScriptの変数と関数はcamelCase、クラスはPascalCaseを使用。Pythonは変数と関数にsnake_caseを使用。CSSクラス名とURLスラッグはkebab-case、定数はUPPER_SNAKE_CASEを使用します。

コード例

JavaScript / TypeScript
// lodash
import { camelCase, snakeCase, kebabCase, startCase } from "lodash";

camelCase("hello world")   // "helloWorld"
snakeCase("helloWorld")    // "hello_world"
kebabCase("HelloWorld")    // "hello-world"
startCase("hello_world")   // "Hello World"

// change-case (lightweight)
import { camelCase, pascalCase, snakeCase } from "change-case";
camelCase("foo bar")       // "fooBar"
pascalCase("foo-bar")      // "FooBar"
Python
import re

def to_snake(s):
    s = re.sub(r'([A-Z]+)([A-Z][a-z])', r'\1_\2', s)
    s = re.sub(r'([a-z])([A-Z])', r'\1_\2', s)
    return s.lower().replace('-', '_').replace(' ', '_')

def to_camel(s):
    words = re.split(r'[_\-\s]+', s)
    return words[0].lower() + ''.join(w.title() for w in words[1:])

# pip install stringcase
from stringcase import camelcase, snakecase, pascalcase
camelcase("hello_world")   # "helloWorld"
snakecase("helloWorld")    # "hello_world"
Go
// go get github.com/iancoleman/strcase
import "github.com/iancoleman/strcase"

strcase.ToCamel("hello_world")       // "HelloWorld"
strcase.ToLowerCamel("hello-world")  // "helloWorld"
strcase.ToSnake("helloWorld")        // "hello_world"
strcase.ToKebab("HelloWorld")        // "hello-world"
strcase.ToScreamingSnake("helloW")   // "HELLO_W"
Shell
# snake_case to kebab-case
echo "hello_world" | tr '_' '-'
# hello-world

# to UPPER_SNAKE_CASE
echo "hello world" | tr '[:lower:] ' '[:upper:]_'
# HELLO_WORLD

# Python one-liner
python3 -c "
import re, sys
s = sys.stdin.read().strip()
print(re.sub(r'([a-z])([A-Z])', r'\1_\2', s).lower())
" <<< "helloWorld"

よくある質問

camelCase と PascalCase の違いは?
camelCase(ロワーキャメル)は最初の単語の頭文字を小文字にし、以降の単語の頭文字を大文字にします(helloWorld)。PascalCase(アッパーキャメル)はすべての単語の頭文字を大文字にします(HelloWorld)。JavaScript の変数/関数は camelCase、クラス/コンポーネント名は PascalCase が一般的です。
snake_case はいつ使うべき?
snake_case はすべて小文字で単語間にアンダースコアを使用。Python の公式推奨スタイル(PEP 8)で、データベースのカラム名や Linux 環境変数でも一般的です。
kebab-case と snake_case の違いは?
kebab-case はハイフン(-)、snake_case はアンダースコア(_)で単語を区切ります。kebab-case は CSS クラス名、HTML 属性、URL スラッグに、snake_case はプログラミング言語の識別子に一般的です。
UPPER_SNAKE_CASE はいつ使う?
UPPER_SNAKE_CASE(SCREAMING_SNAKE_CASE とも)は定数の命名規則です。MAX_RETRY_COUNT、API_BASE_URL など。Python、Java、JavaScript でグローバル定数や列挙値に使われます。
トークナイザーはどのように動作する?
camelCase の境界(小文字→大文字の遷移)、アンダースコア、ハイフン、ドット、スラッシュ、スペースを検出して単語トークンに分割し、ターゲット形式のルールに従って再構成します。
dot.case と path/case の用途は?
dot.case はドットで単語を区切ります(hello.world)。設定ファイルのキーや Java パッケージ名に一般的です。path/case はスラッシュで区切り(hello/world)、ファイルパスや URL セグメントに使用されます。