FIRST CH TOOLS / 38 CASE CONVERTER
文字列ケース変換(camelCase / snake_case / kebab-case)
識別子を camelCase・snake_case・kebab-case・PascalCase・CONSTANT_CASE へ相互変換します。複数行をまとめて変換でき、CSVのヘッダー行のようにカンマ区切りで並んだ項目だけを変換することもできます。XMLHttpRequest のような頭字語も sha256Hash のような数字混じりも、語の切れ目を推定して扱います。
入力すると即時に変換されます
前後の空白とインデント、改行コード(LF / CRLF)はそのまま残すので、表の列やコードの並びを崩さずに名前だけを置き換えられます。空行や記号だけの行は触りません。
どの形式をどこで使うか
| 形式 | 例 | 主な使いどころ |
|---|---|---|
| camelCase | userName | JavaScript・Java・Swift の変数と関数、JSONのキー |
| PascalCase | UserName | クラス名・型名、React / Vue のコンポーネント名、C# の公開メンバー |
| snake_case | user_name | Python・Ruby・PHP の変数と関数、SQLのテーブル名と列名 |
| CONSTANT_CASE | USER_NAME | 定数、環境変数(.env)、Makefile の変数 |
| kebab-case | user-name | URLのパス、CSSのクラス名とカスタムプロパティ、HTMLの属性、npmパッケージ名、ファイル名 |
| Train-Case | User-Name | HTTPヘッダー名(Content-Type / X-Request-Id) |
| dot.case | user.name | 設定キー(application.properties)、名前空間、ログのフィールド名 |
| Title Case | User Name | 見出し、表の列見出し、UIのラベル |
| Sentence case | User name | 本文、説明文、フォームのラベル |
| lower case | user name | 検索用の正規化、タグ |
| UPPER CASE | USER NAME | 見出しの強調、印刷物の項目名 |
迷ったらその言語・その層の慣習に合わせるのが正解です。1つのプロジェクトの中でも、DBの列は snake_case、APIのJSONは camelCase、URLは kebab-case と層ごとに変わるのが普通で、その境目で機械的に変換するためにこのツールがあります。
How to Use
- 変換先を選ぶcamelCase から UPPER CASE まで11種類。選んだ瞬間に結果が入れ替わります。
- テキストを貼り付ける1行1件が既定です。CSVのヘッダー行を整えるときは「行内のカンマ・タブ区切りで1件ずつ」に切り替えると、区切り記号を保ったまま各項目だけが変換されます。
- コピーする右の欄をまとめてコピーするか、「すべての形式」の行をクリックして1件だけコピーします。名前の衝突や数字始まりはチェック結果に出ます。
About This Tool
ケース変換の実体は「語の切れ目をどこに見るか」です。user_name のように区切り記号があれば簡単ですが、XMLHttpRequest のように大文字の連なりが混ざると難しくなります。このツールは大文字の連なりの直後に「大文字+小文字」が続くときだけ手前で切るという規則を使い、XML / Http / Request と分けます(素朴に「大文字の前で切る」と X / M / L / Http… になります)。
数字は既定で直前の語にくっつけます。sha256Hash は sha256 / Hash であって sha / 256 / Hash ではない、という判断です。バージョン番号や桁数を独立させたいときは「数字の前で語を区切る」を有効にしてください。2fa のように数字で始まって小文字が続く語は1語として扱い、2FactorAuth のように大文字が続く場合は書き手が意図した区切りとみなして分けます。
頭字語(ID・URL・XML)の扱いは流派が分かれます。既定では parseXmlData のように畳みます。Google のスタイルガイドが採る書き方で、parseXMLHTTPData のように頭字語が連続したときも語の境目が見えるためです。一方で userID のような既存コードに合わせたい場合は「頭字語を大文字のまま残す」を有効にしてください。camelCase の先頭語だけは、どちらの設定でも小文字にします(URLParser → urlParser)。
CSVヘッダーの整形では「行内のカンマ・タブ区切りで1件ずつ」を選びます。タブが含まれる行はタブ、無ければカンマで区切り、区切り記号と前後の空白はそのままにして中身だけを変換します。Excelからコピーしたタブ区切りの1行をそのまま貼っても崩れません。このとき変換後に同じ名前になる列がないかを確認します(first name と first_name はどちらも first_name になります)。列名の衝突はインポート時に片方が黙って消える事故につながるため、件数と衝突した名前を指摘として出します。
日本語を含む文字列は、大文字・小文字の区別を持たないためそのまま出力します(区切り記号としては働くので、受注 日付 は 受注_日付 になります)。日本語の列名をそのままローマ字にはしません——読みの推定は誤りやすく、黙って間違えるより手を付けない方が安全だからです。
結果が数字で始まる場合も指摘します。多くの言語では識別子を数字で始められないため、2FactorAuth → 2_factor_auth はそのままでは変数名にできません。接頭辞を足すか、綴りを変える判断が要ります。
貼り付けたテキストがブラウザの外へ出ることはありません(変換もチェックもすべて手元で動いています)。URLパラメータで直接呼び出せます: /case/?text=user_name&format=camel / /case/?text=first%20name,last%20name&format=snake&scope=items
From AI Agents
このケース変換のロジックは、MCP(Model Context Protocol)サーバー @first-ch/tools-mcp の case_convert ツールとしても提供しており、ブラウザを使わずAIエージェントから直接呼び出せます。変数名の一括リネームやCSVヘッダーの整形のように、規則が決まっている定型処理をそのまま任せられます。導入方法の詳細は AIエージェントからの使い方 を参照してください。
導入
claude mcp add firstch-tools -- npx -y @first-ch/tools-mcp
呼び出し例
# 1行1件でまとめて camelCase へ case_convert(text="user_name\nlast-name\nEMAIL_ADDRESS", format="camel") # CSVのヘッダー行を snake_case に整える(区切りはそのまま) case_convert(text="First Name, Last Name, E-Mail", format="snake", scope="items") # 1つの識別子をすべての形式で見る case_convert(text="XMLHttpRequest", allFormats=true) # ファイルを読んで変換し、別ファイルへ書き出す case_convert(path="/tmp/headers.csv", format="kebab", scope="items", outputPath="/tmp/out.csv")
Other Tools
- 01画像→WebP一括変換WebP Converter
- 02白背景の透過White BG Remover
- 03コントラスト比チェッカーContrast Checker
- 04文字数カウントCharacter Counter
- 05llms.txt ジェネレーターllms.txt Generator
- 06JSON-LD構造化データ生成JSON-LD Generator
- 07Markdown→PDF変換MD → PDF
- 08OGPメタタグ生成ウィザードOGP Wizard
- 09faviconジェネレーターFavicon Generator
- 10TikTok投稿ツールTikTok Publisher
- 11文字コード・改行コード変換Encoding Converter
- 12画像→AVIF変換+picture生成AVIF Converter
- 13テストデータ生成Test Data Generator
- 14Marp Markdown→スライドMarp Slides
- 15テキスト・コード差分チェッカーDiff Checker
- 16Cron式ビジュアル解説&発火日時Cron Explainer
- 17Base64 & Data URI変換Base64 & Data URI
- 18URLパラメータ分解・UTMタグ編集URL Parameters
- 19HTMLエンティティ・特殊文字変換HTML Escape
- 20JSON ⇄ YAML 相互変換&整形JSON ⇄ YAML
- 21PX ⇄ REM / EM 単位変換&スケール表PX ⇄ REM / EM
- 22Colorコード変換&アルファ透過Color Converter
- 23MD5 / SHA-256 ハッシュ生成Hash Generator
- 24JWTデコーダー&有効期限チェッカーJWT Decoder
- 25User-Agent解析&デバイス判定User-Agent Parser
- 26UUID (v4) & ULID 一括生成UUID & ULID Generator
- 27アスペクト比計算&レスポンシブサイズAspect Ratio Calculator
- 28Markdownテーブル整形&CSV/TSV変換Markdown Table
- 29SQLクエリフォーマッター&整形SQL Formatter
- 30QRコード生成QR Code Generator
- 31正規表現テスターRegex Tester
- 32UNIXタイムスタンプ⇄日時変換Unix Time Converter
- 33新規タブメモ帳 Chrome拡張New Tab Memo
- 34画像リサイズ&クロップImage Resizer
- 35EXIF情報の確認&除去EXIF Viewer
- 36robots.txt ジェネレーターrobots.txt Generator
- 37安全なパスワード生成Password Generator