命名規則変換ツール

camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE、dot.case、Title Case などにテキストを変換。13 種類の書式が入力に応じてリアルタイム更新されます。

任意のテキストを 13 種類の命名規則へ一括変換します。 変数名でも見出しでも文章でも貼り付けられます。元の書き方に関係なく単語へ分解し、主要なスタイルすべてで組み直します。

命名規則と使い分け

単語分割の仕組み

書式を変える前に、入力を単語へ分解する必要があります。本ツールは、小文字の後に大文字が続く位置、略語が終わって新しい単語が始まる位置(HTTPServerHTTP + Server に分割)、および英数字以外の文字の連続部分に境界を挿入します。得られるのは中立的な単語リストで、どのスタイルにも組み直せます。つまり snake_case を貼り付けて、そのまま正しい camelCase を得られます。

主な命名規則

  • camelCase — JavaScript と Java の変数、多くの Web API の JSON キー。
  • PascalCase — C#、Java、TypeScript のクラス名や型名、React のコンポーネント名。
  • snake_case — Python と Ruby の変数・関数、PostgreSQL のカラム名。
  • CONSTANT_CASE — ほぼすべての言語のコンパイル時定数と環境変数。
  • kebab-case — URL スラッグ、CSS クラス名、HTML 属性、npm パッケージ名。
  • dot.case — 設定キー、i18n の翻訳キー、Java のパッケージ名。
  • Title Case — 見出しや UI ラベル。

一貫性が重要な理由

1 つのコードベースで規則が混在すると、実際に時間を浪費します。データベースでは user_id、API 層では userId、モデルでは UserID となっていれば、境界ごとに対応付けが必要になり、その対応付けのすべてが不具合の潜む場所になります。多くのチームは層ごとに規則を 1 つに固定し、境界で明示的に変換します。

Unicode の扱い

単語分割には Unicode 対応の文字クラスを使うため、アクセント付きラテン文字、ギリシャ文字、キリル文字も区切りではなく文字として扱われます。中国語や日本語のように大文字小文字の区別がない文字はそのまま通過します。適用すべき大文字・小文字の形が存在しないためです。

オープンソースに関する記載:単語分割と整形は JavaScript ネイティブの Unicode 正規表現で実装しています。サードパーティライブラリは使用していません。

よくある質問

すでにキャメルケースのテキストを貼り付けられますか?
できます。分割処理がキャメルの区切りと略語の境界を検出するため、どの入力スタイルからでも中間ステップなしに任意の出力スタイルへ正しく変換されます。
略語はどのように扱われますか?
大文字の連続の後に「大文字+小文字」が続く場合、最後の大文字の前で分割します。そのため parseHTTPResponse は parse + HTTP + Response になります。
タイトルケースと文頭のみ大文字の違いは?
タイトルケースはすべての単語の頭を大文字にします。文頭のみ大文字は最初の単語だけを大文字にし、残りは小文字にします。通常の文と同じ書き方です。
中国語や日本語でも使えますか?
これらの文字には大文字小文字の区別がないため、そのまま出力されます。ただしケバブケースなど区切り文字を使う書式では、空白や句読点の位置に区切りが挿入されます。
記号や数字は保持されますか?
数字は保持され、単語の一部として扱われます。記号は単語の境界として働き、連結後の出力からは取り除かれます。対象となる命名規則がいずれも記号を許容しないためです。
テキストはどこかにアップロードされますか?
されません。処理はすべてブラウザ内で行われるため、貼り付けた内容が端末外に出ることはありません。