Skip to content

ケース変換ツール — UPPERCASE、lowercase、camelCase ほか

テキストを UPPERCASE、lowercase、Title Case、Sentence case、camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE など 15 形式へ即座に変換。無料・ブラウザ完結・登録不要。

トラッキングなし ブラウザで動作 無料
すべてのケース変換はブラウザ内でローカルに実行されます。サーバーへのデータ送信はありません。

テキストケース

lowercase

すべての文字を小文字に。空白を保持。

hello world example

UPPERCASE

すべての文字を大文字に。空白を保持。

HELLO WORLD EXAMPLE

Title Case

各単語の最初の文字を大文字に。

Hello World Example

Sentence case

各文の最初の文字を大文字に。

Hello world example

iNVERSE cASE

各文字の大文字 / 小文字を入れ替え。

hELLO wORLD eXAMPLE

aLtErNaTiNg cAsE

1 文字ごとに小文字と大文字を交互に。

hElLo WoRlD eXaMpLe

RaNdOm CaSe

各文字を独立にコイン投げ。

HeLLo WorLd eXamPLe

プログラミングケース

camelCase

最初の単語は小文字、それ以降は大文字始まり、区切り文字なし。

helloWorldExample

PascalCase

すべての単語を大文字始まりに、区切り文字なし。

HelloWorldExample

snake_case

小文字、アンダースコアで連結。

hello_world_example

kebab-case

小文字、ハイフンで連結。

hello-world-example

CONSTANT_CASE

大文字、アンダースコアで連結。

HELLO_WORLD_EXAMPLE

dot.case

小文字、ドットで連結。

hello.world.example

path/case

小文字、フォワードスラッシュで連結。

hello/world/example

Header-Case

各単語を大文字始まりに、ハイフンで連結。

Hello-World-Example
lodash / change-case の同等性、Unicode のケースマッピングの正確性、頭字語の往復の安定性、そして 7 つのテキストケース + 8 つのプログラミングケースの機能セットについてレビュー済み。 — Go Tools エンジニアリングチーム · May 26, 2026

ケース変換ツールとは?

ケース変換ツールとは、ひとかたまりのテキストを受け取り、異なる文字ケースの慣例で再描画する小さなユーティリティです。最もシンプルな形態は UPPERCASE と lowercase です — すべての文字を一方のケースに反転します。より豊かな形態は言語的なルール (Title Case は各単語の最初の文字を大文字に、Sentence case は各文の最初の文字を大文字に) や、プログラミング命名のルール (camelCase は最初の単語以降を大文字始まりにして連結、snake_case はすべて小文字にしてアンダースコアで連結) を適用します。オンラインのケース変換ツールは、Web に textarea が存在するのと同じ歴史を持ちます。変換は機械的にシンプルですが、些細でない量のテキストを手作業で行うと退屈だからです。

テキストケースのファミリーは、ライター、編集者、マーケター、ジャーナリストが頻繁に使うものです。UPPERCASE と lowercase は、ハウススタイルに合わせたり、転送されたメールから叫び立てる ALL-CAPS を除去したりするのに便利です。Title Case は見出しや書籍タイトル向け。Sentence case は本文、UI のマイクロコピー、ボタンラベル、キャプション向けの現代的な Web 標準です — Google、Apple、Microsoft のスタイルガイドはこの 10 年で揃ってこれに収束しました。嘲笑用のバリアント (iNVERSE cASE、aLtErNaTiNg cAsE、RaNdOm CaSe) はインターネット文化、特に皮肉に引用するために使われる「スポンジボブミーム」から来ています。alternating case は厳密で決定論的なバリアント、random case はカオス版です。

プログラミングケースのファミリーは、開発者が毎日使うものです。camelCase は JavaScript、Java、Swift、Kotlin の識別子の標準です。PascalCase は大半のオブジェクト指向言語のクラス名、および React、Vue、Angular のコンポーネント名の標準です。snake_case は Python、Ruby、Rust、Elixir、そして大半のデータベースカラム名の標準です。kebab-case は CSS クラス名、URL スラッグ、HTML 属性の標準です。CONSTANT_CASE は環境変数、トップレベル定数、マクロ名の標準です。dot.case は名前空間化 (Java パッケージ、MongoDB のフィールドパス) に使われます。path/case は URL とファイルシステムパスに使われます。Header-Case は正準的な HTTP/1.1 ヘッダーの慣例です (Content-Type、Access-Control-Allow-Origin)。

内部的に興味深いエンジニアリングは、入力文字列を意味的な単語に分割するトークナイザーです。空白で分割するのは簡単ですが、難しいのは空白区切りのない単語境界を認識することです。標準的な慣例 — lodash、change-case npm パッケージ、Python の PEP 8、そして実世界の大半のコードベースが使用 — は、3 つの遷移で境界を挿入します: 小文字から大文字 (parseHTML → parse / HTML)、大文字から大文字から小文字 (XMLHttpRequest → XML / Http / Request)、文字から数字 / 数字から文字 (file2x → file / 2 / x)。加えて明示的な区切り文字: ハイフン、アンダースコア、ドット、スラッシュ、バックスラッシュです。この 1 つのトークナイザーがあれば、任意のケース — camelCase、snake_case、kebab-case、混在 — の識別子を貼り付けて、手作業のクリーンアップなしに他の任意のケースへきれいに変換できます。

あなたが使っているこのツールは、トークナイザーと 15 種類すべての変換を JavaScript により完全にブラウザ内で実行します。ネットワーク呼び出しなし、サーバーなし、ログ記録なし、入力した内容を記録する Cookie もありません。各ケースの出力はデバウンス遅延なしにキーストロークごとに更新されます。各カードの Copy ボタンは、そのケースだけをクリップボードに書き込みます。Re-shuffle は他の出力を乱さずに random case を再生成します。すべてが実際の作業速度を考慮して設計されています — 貼り付け、スキャン、コピー、他の場所に貼り付け。

関連するテキストツールとして、文字数カウンター は長さと読了時間の指標を扱い、テキスト差分 は 2 つのテキストを行単位で比較し、正規表現テスター はサンプル入力に対するパターンマッチを検証します。これらを合わせると、開発者やコンテンツワーカーがブラウザで行うテキスト整形作業の大半をカバーします。

// The tokenizer that powers every programming-case conversion
function tokenize(input) {
  return input
    .replace(/([a-z0-9])([A-Z])/g, '$1 $2')      // lower→upper: parseHTML → parse HTML
    .replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2')   // acronym boundary: XMLHttp → XML Http
    .replace(/([A-Za-z])(\d)/g, '$1 $2')          // letter→digit: file2 → file 2
    .replace(/(\d)([A-Za-z])/g, '$1 $2')          // digit→letter: 2x → 2 x
    .replace(/[\s\-_./\\]+/g, ' ')                // collapse separators
    .split(' ').filter(Boolean);
}

// Then each case is a one-liner over the tokens
const camelCase  = (s) => tokenize(s).map((t, i) => i === 0 ? t.toLowerCase() : cap(t)).join('');
const snakeCase  = (s) => tokenize(s).map(t => t.toLowerCase()).join('_');
const kebabCase  = (s) => tokenize(s).map(t => t.toLowerCase()).join('-');
const PascalCase = (s) => tokenize(s).map(cap).join('');

function cap(t) {
  return t.charAt(0).toUpperCase() + t.slice(1).toLowerCase();
}

主な特長

15 種類すべてのケースを同時表示

テキストを貼り付けると、すべてのケースが 2 列のグリッドに即座に描画されます。最初にフォーマットを選んだり、ドロップダウンを開いたりする必要はありません — グリッドをスキャンして、必要なものをコピーするだけ。テキストケースとプログラミングケースは別々のセクションに分かれているため、目的のカードを一目で見つけられます。

プログラミングケース向けのスマートトークナイザー

小文字から大文字への境界 (camelCase)、大文字から大文字から小文字への境界 (XMLHttpRequest → XML/Http/Request)、文字から数字への境界 (file2x)、そして一般的なすべての区切り文字 (-、_、.、/、\、空白) を認識します。lodash と change-case npm の慣例と一致するため、出力は実世界のコードベースが期待する通りに往復します。

カードごとのコピーとライブフィードバック

各出力カードには独自の Copy ボタンがあります — 1 回クリックすると、そのケースだけがクリップボードに入ります。ラベルは一時的に「Copied!」に切り替わり、動作したことが分かります。テキストをハイライトしたり右クリックしたりする必要はありません。

キーストロークごとのリアルタイム更新

デバウンス遅延なしに、キーストロークごとにすべてのケースが再描画されます。Convert ボタンも、ページリロードも、待ち時間もありません。実際の編集スピードに合わせて構築 — 貼り付け、スキャン、コピー、完了。

Random Case の再シャッフル

Random Case の出力は、他の出力や入力テキストを乱すことなく、Re-shuffle ボタンで独立に再生成できます。同じソーステキストで異なるスポンジボブミームのバリエーションが欲しいときに便利です。

空白と句読点を保持

テキストケースの変換 (UPPERCASE、lowercase、Title、Sentence、iNVERSE、aLtErNaTiNg、RaNdOm) は、設計上あらゆる空白、改行、句読点を保持します。複数段落の文書を貼り付けても、フォーマットはそのまま残ります — 文字のケースだけが変わります。

Unicode 対応のケースマッピング

Intl 対応の `toLocaleLowerCase` および `toLocaleUpperCase` メソッドを使用しているため、トルコ語のドット付き / ドットなしの İ/ı、ドイツ語の ß、ギリシャ語の最終シグマ、その他ロケール依存のケースを正しく処理します。トークナイザーは任意の文字体系の文字を認識します (Unicode \p{L})。

100% ブラウザベースのプライバシー

すべての変換はブラウザ内でローカルに実行されます。テキストはアップロードもログ記録も保存も分析もされません。未発表の製品名、社内変数スキーム、プレスリリースの下書き、その他あらゆる機密素材で安全です。入力中のネットワークリクエストはゼロ — ブラウザの Network タブで確認できます。

頭字語を保持した往復

XMLHttpRequest → xml_http_request → XmlHttpRequest と変換しても、構造はきれいに往復します。Python の PEP 8 や JS の change-case パッケージと同じ慣例 — コードベースをケース間で移行する際に、文字単位で手作業で分割する必要はありません。

ケース変換ツールの代替比較

lodash (_.camelCase, _.snakeCase, _.kebabCase, _.startCase)

JavaScript ライブラリ

大半の JS コードベースのリファレンス実装です。一般的なケースでは本ツールと同一の出力を生成します。lodash はエッジケースでわずかに異なる Unicode 処理を行います。コードでは lodash を、リファクタリング中のワンオフな変換や素早いスポットチェックには本ツールを使いましょう。

change-case npm パッケージ

JavaScript ライブラリ

モジュラーでツリーシェイク可能なケース変換ライブラリ — ケースごとに 1 つの関数。本ツールのトークナイザーは change-case v5+ の慣例と完全に一致するため、ASCII 入力に対する出力はバイト単位で同一です。バンドルに camelCase のみまたは snake_case のみが欲しい場合は change-case を、対話的な変換には本ツールを使いましょう。

VS Code 組み込みのケースコマンド

エディタコマンド

VS Code には `Transform to Uppercase`、`Transform to Lowercase`、`Transform to Title Case` コマンドが付属しています (Cmd-Shift-P → 検索)。デフォルトでは camelCase、snake_case、その他のプログラミングケースはありません。「change-case」のような拡張機能で追加されます。テキストがすでにエディタ内にあるときに最適です。クリップボードフローの変換には本ツールの方が高速です。

convertcase.net

ブラウザツール

オリジナルのオンラインケース変換ツール — テキストケースのみ (UPPERCASE、lowercase、Sentence、Title、alternating、inverse)。プログラミングケースはありません。2000 年代初頭から存在し、多くのテキストケース検索の上位結果として今も残っています。本ツールは同じテキストケースをカバーし、さらに 8 つのプログラミングケースも追加します。

Microsoft Word のケース変換 (ホーム > 大文字 / 小文字の変換)

デスクトップアプリ

Word はホームリボンにケース変換ボタンを備えています: Sentence case、lowercase、UPPERCASE、Capitalize Each Word、tOGGLE cASE。プログラミングケースはありません。ワークフローは Word 内にいてファイルを開いている必要があります。テキストがすでにドキュメント内にある場合は Word を、ブラウザタブにいる場合は本ツールを使いましょう。

Apple の Pages / TextEdit の変換

デスクトップアプリ

macOS の Pages と TextEdit には編集 > 変換: Make Upper Case、Make Lower Case、Capitalize があります。camelCase、snake_case、その他のプログラミングバリアントはありません。それらのアプリ内の短いテキストには素早いですが、コード識別子の作業向けには設計されていません。

オンラインのプログラミングケース変換ツール (例: camelcasse.com)

ブラウザツール

1 つの変換だけに焦点を当てた専用のシングルケース変換ツール (camelCase だけ、snake_case だけ)。スキャンするケースが少なく、より集中した UI です。本ツールは 15 種類すべてを同時に表示するため、複数のケースをまたいだリファクタリングが高速 — ただし常に 1 つだけ必要な場合は、シングルケースツールでも問題ありません。

ケース変換の例

全角大文字のメール件名 → Sentence Case

URGENT: PLEASE REVIEW THE Q4 BUDGET PROPOSAL BEFORE FRIDAY

Sentence case 出力: "Urgent: please review the q4 budget proposal before friday" — 転送や丁寧な返信のために、叫び立てる大文字の調子を即座に除去します。Title Case 出力: "Urgent: Please Review The Q4 Budget Proposal Before Friday" — フォーマルな見出しスタイルで残したい場合に。両方が同時に得られるので、返信に合う方を選びましょう。

snake_case 変数 → camelCase

user_profile_image_url

camelCase 出力: "userProfileImageUrl" — JavaScript、Java、Swift にそのまま投入できます。PascalCase: "UserProfileImageUrl" — C# / .NET のプロパティ名や React コンポーネント名向け。kebab-case: "user-profile-image-url" — CSS クラスや URL スラッグ向け。CONSTANT_CASE: "USER_PROFILE_IMAGE_URL" — 環境変数やトップレベル定数向け。1 回の貼り付けで、すぐ使える 4 つの識別子が得られます。

頭字語の多いクラス名 (XMLHttpRequest)

XMLHttpRequest

トークナイザーは XML / Http / Request の境界を認識します。出力: snake_case → "xml_http_request"、kebab-case → "xml-http-request"、CONSTANT_CASE → "XML_HTTP_REQUEST"、Header-Case → "Xml-Http-Request"。これは lodash、change-case パッケージ、Python の PEP 8 における頭字語の扱いがすべて採用している慣例です — JS クラス名から Python モジュール名へのリファクタリングが、文字単位での手作業の分割ではなく 1 回の貼り付けで済みます。

ページタイトルから URL スラッグ (Title → kebab-case)

10 Tips for Faster JavaScript: A Complete Guide

kebab-case 出力: "10-tips-for-faster-javascript-a-complete-guide" — 多くの CMS (WordPress、Ghost、Hugo) がデフォルトで生成する URL セーフなスラッグ。snake_case: "10_tips_for_faster_javascript_a_complete_guide" — ファイル名の慣例向け。トークナイザーはコロンやその他の句読点をきれいに除去するため、事前にタイトルをクリーンアップする必要はありません。

Camel-Case から HTTP ヘッダー名 (Header-Case)

accessControlAllowOrigin

Header-Case 出力: "Access-Control-Allow-Origin" — HTTP 仕様が使用する正確な綴りで、fetch() のオプションオブジェクトやサーバーサイドのレスポンスにそのまま投入できます。kebab-case: "access-control-allow-origin" — 同じ正準形を小文字にしたもの (一部の HTTP ライブラリが内部で使用)。JS オブジェクトのプロパティを実際のヘッダー名に変換する最速の方法です。

人間が読める設定から定数へ (CONSTANT_CASE)

max retries per request

CONSTANT_CASE 出力: "MAX_RETRIES_PER_REQUEST" — 設定ファイルに `const MAX_RETRIES_PER_REQUEST = 3` として、または `.env` ファイルに `MAX_RETRIES_PER_REQUEST=3` として投入できます。snake_case: "max_retries_per_request" — Python スタイルのモジュールレベル定数や YAML キー向け。同じソースから 2 つの宛先へ、手作業の編集なしで。

文をスポンジボブミーム化 (aLtErNaTiNg cAsE)

this is fine, everything is going great

aLtErNaTiNg cAsE 出力: "tHiS iS fInE, EvErYtHiNg iS gOiNg GrEaT" — 正準的なスポンジボブの嘲笑フォーマット。交互の切り替えは文字全体にわたるグローバルなトグルで、単語単位ではありません。convertcase.net や他のミームジェネレーターと同じ挙動です。RaNdOm CaSe: 各文字を独立に反転します — 同じ皮肉な雰囲気をさらにカオスに表現したいときに便利です。

ケース変換ツールの使い方

  1. 1

    テキストを貼り付けるか入力

    エディタをクリックして入力するか、任意のテキスト — 文、段落、識別子、見出し — を貼り付けます。すべてのケース出力が即座に更新されます。ケースの違いを見るだけなら、Sample をクリックして代表的なフレーズを読み込みましょう。

  2. 2

    グリッドをスキャン

    7 つのテキストケース (UPPERCASE、lowercase、Title、Sentence、iNVERSE、aLtErNaTiNg、RaNdOm) は上部セクションにあります。8 つのプログラミングケース (camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE、dot.case、path/case、Header-Case) は下部セクションにあります。各カードはケースラベル、1 行の説明、変換後の出力を表示します。

  3. 3

    必要なケースの Copy をクリック

    各出力カードには独自の小さな Copy ボタンがあります。1 回クリックすると — そのケースがクリップボードに入り、ボタンが「Copied!」と光り、他の場所に貼り付ける準備が整います。出力テキストを先にハイライトする必要はありません。

  4. 4

    必要なら random case を再シャッフル

    同じテキストで異なる RaNdOm CaSe のバリエーションが欲しい場合は、アクションバーの Re-shuffle をクリックします。Random Case の出力のみが変わり、入力テキストと他のすべての出力はそのままです。

  5. 5

    完了したらクリア

    Clear をクリックするとエディタが空になり、すべての出力がリセットされます。Sample はデモテキストを再読み込みします。すべての操作は即時で、サーバーには何も送信されません。

ケース変換でよくある誤り

段落全体を Snake-Case 化しようとする

複数語の文を snake_case の出力に貼り付けると、1 つの巨大な識別子に折りたたまれます — 技術的には入力の正しい snake_case ですが、実際に識別子として欲しいものではありません。snake_case は識別子 (単一の変数名や複合フレーズ) を 1 つずつ使ってください。段落長のテキストにはテキストケースの変換を使いましょう。

✗ 誤り
入力: "the quick brown fox jumps over the lazy dog"
snake_case 出力: the_quick_brown_fox_jumps_over_the_lazy_dog
結果: 誰も欲しがらない 50 文字の識別子。
✓ 正しい
入力: "quickBrownFox"
snake_case 出力: quick_brown_fox
結果: クリーンな 3 トークンの識別子。

APA タイトルケースのルールを期待する

本ツールの Title Case はすべての単語を大文字始まりにします — AP スタイルの `Hello a World of Examples` ではなく `Hello A World Of Examples` です。APA、Chicago、AP のスタイルガイドは、見出しの短い冠詞や前置詞をすべて小文字にします。特に APA スタイルの見出しが必要な場合は、専用のタイトルケースツールを使ってください。一般的な大文字化 (すべての単語を大文字始まり) には、本ツールの Title Case が正しいです。

✗ 誤り
入力: "a tale of two cities"
本ツールの Title Case: A Tale Of Two Cities
期待値 (AP スタイル): A Tale of Two Cities
✓ 正しい
一般的な大文字化には本ツールを使う。
編集者向けタイトルには AP スタイルの見出しツールを使う。
異なるツール、異なる慣例。

PascalCase の往復が頭字語の大文字化を保持すると思い込む

XMLHttpRequest は XML / Http / Request にトークン化され、PascalCase に戻すと XmlHttpRequest になります。これは慣例 (トークナイザーがきれいに往復できる) ですが、コードベースが頭字語の大文字化を保持している場合 (XMLHttpRequest を XMLHttpRequest のままにする)、結果は一致しません。プロジェクト全体のリネームを行う前にスポットチェックしましょう。

✗ 誤り
入力: XMLHttpRequest
PascalCase 出力: XmlHttpRequest
期待値 (頭字語保持): XMLHttpRequest
✓ 正しい
タイトルケース化された頭字語を受け入れる、または
変換後に手動で頭字語を保持する、または
頭字語のヒントを尊重するトークナイザーを使う。

URL を貼り付けてスラッシュを失う

`https://example.com/api/users` を snake_case に貼り付けると、すべてのスラッシュとドットが除去され `https_example_com_api_users` になります — 技術的には正しいですが、URL としては使えません。URL はすでに path/case 形式です。プログラミングケース変換にかけないでください。URL からプロトコルやホストを除去したい場合は、先に URL 解析ツールを使ってください。

✗ 誤り
入力: https://example.com/api/users
snake_case 出力: https_example_com_api_users
結果: もはや URL ではない。
✓ 正しい
入力: https://example.com/api/users
URL はそのままに — すでに適切な形式です。
スラッグ抽出には URL パスを手動で解析してください。

dot.case とドット付き識別子記法を混同する

dot.case の出力は `user.profile.image` — リテラルなドットで連結された小文字のトークンで、名前空間化 (Java パッケージ、MongoDB のフィールドパス、TOML キー) に適しています。これは JavaScript のプロパティアクセス記法 (`user.profile.image` は見た目同じですが「user の profile プロパティの image プロパティ」を意味します) と同じではありません。プロパティアクセスパスが必要なら、dot.case はたまたま偶然正しい文字列を生成します。プログラミング識別子が必要なら、代わりに camelCase か snake_case を使ってください。

✗ 誤り
目標: 「user.profile.image 変数を設定する」
dot.case の出力を変数名として使用: `user.profile.image`
大半の言語ではこれは識別子ではなくプロパティアクセスです。
✓ 正しい
単一の変数には: userProfileImage (camelCase)。
名前空間化されたキーには: user.profile.image (dot.case が正しい)。
ターゲット構文にケースを合わせる。

Sentence case が略語を扱うと期待する

Sentence case はすべての `.` に空白が続くものを文境界として扱います。`Mr. Smith arrived.` が `Mr. Smith arrived.` に正しくなるのを含みますが、`e.g. this example` は `E.g. This example` になります (`g.` が文末記号として誤処理される)。略語に対する誤検出は、正規表現ベースの文検出器すべてに共通する既知の制限です。編集者の精度が必要なら、出力を手作業で編集してください。

✗ 誤り
入力: "e.g. this is an example. Read more."
Sentence case 出力: "E.g. This is an example. Read more."
`g.` が文末記号として誤って扱われた。
✓ 正しい
Sentence case を最初に実行し、少数の略語エッジケースを手作業で修正する。
または文内ピリオドを避けるために言い換える。
(NLP グレードの文検出は別カテゴリのツールです。)

代表的なユースケース

言語をまたいで識別子をリネームする開発者
JS 変数を Python の snake_case 名に、CSS クラスを React の PascalCase コンポーネントに、環境変数を設定定数に移行する。ソース名を一度貼り付け、適切な出力をコピー — 文字単位での手作業の変換は不要です。
ヘッダー名を変換するバックエンド開発者
Content-Type、Access-Control-Allow-Origin、X-Forwarded-For などの HTTP ヘッダーには特定の Header-Case の綴りがあります。camelCase の JS プロパティ名を貼り付け、正準的なヘッダー形式をコピー — fetch() オプション、サーバーミドルウェア、プロキシ設定で動作します。
ALL-CAPS のメール調子を除去するライター
転送された大文字だけのメールやチャットメッセージは叫び立てるように読めます。Sentence case に貼り付けて調子を緩めるか、Title Case で洗練された見出しの雰囲気を保ちましょう。空白と句読点はそのまま残ります。
見出しを書くマーケター
見出しには Title Case、本文コピーやキャプションには Sentence case — 現代の大半のスタイルガイド (AP、Google、Apple) が推奨する慣例です。両方を同時に見て、配置に合う方を比較できます。
URL スラッグを生成する SEO スペシャリスト
kebab-case はあらゆる CMS が期待する URL スラッグの慣例です。句読点と大文字を含むページタイトルを貼り付け、kebab-case の出力をコピー — WordPress、Ghost、Hugo のスラッグフィールドにそのまま投入できます。トークナイザーが句読点をきれいに除去します。
カラムやテーブルを命名する DBA
カラム名やテーブル名の snake_case は、PostgreSQL、MySQL、SQLite、大半の ORM で普遍的な慣例です。人間が読めるラベルや camelCase の API フィールド名を貼り付け、snake_case 版をコピーしましょう。
CSS クラスを書くフロントエンド開発者
クラス名の kebab-case は CSS 仕様の慣例です (BEM、Tailwind ユーティリティ、大半のデザインシステム)。camelCase の JS コンポーネント名を貼り付け、マッチする CSS モジュール用に kebab-case 版をコピーしましょう。
ミーム作者と皮肉愛好家
aLtErNaTiNg cAsE と RaNdOm CaSe は、皮肉に引用したり茶化したりするのに使われるスポンジボブミームのフォーマットです。Re-shuffle は入力を変えずにランダムバリアントを再生成します — 気に入るものができるまで数回生成しましょう。

トークン化と変換ルール

トークン化ルール
トークンは 4 つの境界で空白を挿入して抽出されます: 小文字から大文字 (parseHTML → parse HTML)、大文字から大文字から小文字 (XMLHttp → XML Http)、文字から数字 (file2 → file 2)、数字から文字 (2x → 2 x)。次に一般的な区切り文字 (空白、ハイフン、アンダースコア、ドット、スラッシュ、バックスラッシュ) が単一の空白に折りたたまれます。結果のトークンが分割され、トリムされ、空のものが除去されます。これは lodash と change-case パッケージの慣例と一致します。
プログラミングケースの出力は句読点を除去
camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE、dot.case、path/case、Header-Case はすべてクリーンな識別子を生成します — 入力中の句読点 (カンマ、ピリオド、括弧) は、大半の言語の識別子に現れることができないため除去されます。句読点を保持する必要がある場合は、テキストケースの出力 (UPPERCASE、lowercase、Title、Sentence、iNVERSE、aLtErNaTiNg、RaNdOm) を使ってください。
テキストケースの出力はすべてを保持
UPPERCASE、lowercase、Title Case、Sentence case、iNVERSE cASE、aLtErNaTiNg cAsE、RaNdOm CaSe はすべて空白、改行、句読点を保持します。複数段落の文書を貼り付けても構造は残ります — 文字のケースだけが変わります。これらの変換はトークン化なしに文字単位で動作します。
Title Case (素朴なバリアント)
本ツールの Title Case は、空白区切りの各単語の最初の文字を大文字にし、残りを小文字にします。APA、Chicago、AP のスタイルガイドは、短い冠詞や前置詞 (a、an、the、of、in、for) を小文字にすることを推奨します。それらのバリアントは専用ツールに値するほど異なります。一般的な大文字化には本ツールの Title Case を、AP スタイルの見出しには見出し専用ツールを使ってください。
Sentence case の境界検出
Sentence case はすべてを小文字にしてから、入力の最初の文字と、任意の文末記号 (. ! ? 。 ! ?) に空白が続いた後の最初の文字を大文字にします。検出器は Mr. や U.S.A. のような略語を曖昧性解消しようとはしません — そこでの誤検出は、稀な見逃しケースよりノイズが多いからです。
Alternating Case はグローバルトグルを使用
aLtErNaTiNg cAsE は各文字で小文字と大文字を切り替え、単語境界をまたぐグローバルトグルを使用します。非文字の文字はトグルを進めません。これは convertcase.net や他のミームジェネレーターが使用する慣例と一致します — 同じ入力に対して予測可能で再現可能です。
Random Case は Math.random() を使用
RaNdOm CaSe は Math.random() を使って文字ごとに独立したコイン投げを行います。Re-shuffle をクリックするたびに異なる結果が得られます。ランダムソースは暗号学的に強くありません。カジュアルなテキストには十分ですが、パスワード生成には使わないでください (それには専用のパスワードジェネレーターを使ってください)。
Unicode とロケール対応のケースマッピング
`toLocaleLowerCase()` と `toLocaleUpperCase()` を使用しているため、トルコ語のドット付き / ドットなしの İ/ı、ドイツ語の ß (標準的な扱いでは SS に大文字化)、その他ロケール依存のケースマッピングを正しく処理します。トークン化は \p{L} で任意の文字体系の文字を認識します。プログラミングケースの出力は、言語間の互換性のためにデフォルトで ASCII 識別子文字に揃えられます。

ケースを選ぶためのベストプラクティス

コードベースに合うケースを選ぶ
変数名にとって正しいケースは、最も美しいものではなく — コードベースがすでに使っているものです。JavaScript と Java: 変数とメソッドに camelCase、クラスに PascalCase。Python、Ruby、Rust: クラス名 (PascalCase) 以外のすべてに snake_case。CSS と URL: kebab-case。環境変数と定数: CONSTANT_CASE。ローカルの慣例に合わせましょう。一貫性は理論的な正しさに勝ります。
UI マイクロコピーには Sentence case を使う
Google、Apple、Microsoft のデザインシステムは、この 10 年でボタンラベル、メニュー項目、ダイアログテキスト、その他の UI マイクロコピーに Sentence case を標準化しました。UI での Title Case は今では古風で、わずかに叫び立てるように読まれます。Title Case は主要な見出し、ページタイトル、書籍タイトルに取っておきましょう。
貼り付ける前にスマートクォートを除去
Microsoft Word、Google Docs、Apple Notes からの貼り付けは、ASCII と見た目は同じでもエンコーディングが異なるスマートクォート (“”)、em ダッシュ (—)、その他のタイポグラフィ文字を引き込みます。ケース変換はそれらを正しく扱いますが、プログラミングケースの識別子に変換する場合は、コードエディタでの予期せぬ挙動を避けるために、先に手動で ASCII 等価物に置換してください。
プログラミングケースは識別子を 1 つずつ変換
camelCase、snake_case、kebab-case などは、入力全体から単一の識別子を生成します。文を snake_case に貼り付けると、1 つの長い識別子になります — 技術的には正しいですが、ほとんどの場合あなたが望むものではありません。識別子変換には 1 単語または複合語を 1 つずつ貼り付けましょう。段落長のテキストにはテキストケースの変換を使ってください。
リファクタリング前に頭字語の往復を確認
XMLHttpRequest → xml_http_request → XmlHttpRequest が標準的な往復で、頭字語は戻る際にタイトルケース化されます。コードベースが元の頭字語の大文字化を保持している場合 (XmlHttpRequest が XMLHttpRequest のまま)、往復は完全には一致しません。プロジェクト全体のリネームを行う前に、いくつかの変換をスポットチェックしましょう。
HTTP/1.1 には Header-Case、HTTP/2 には kebab-case
HTTP/1.1 はヘッダー名についてケース非依存ですが、Header-Case (Content-Type、X-Forwarded-For) が誰もが使う慣例的な人間可読の綴りです。HTTP/2 は明示的に小文字のヘッダー名を要求します — そちらには kebab-case を使ってください (content-type、x-forwarded-for)。迷ったら、kebab-case はどちらのプロトコルでも動作します。
Random Case は多様性のため、セキュリティのためではない
Random Case はミームには楽しいですが、暗号学的な意味でランダムではありません — Math.random() を使用しており、視覚的な多様性には問題ありませんが、ランダム性が重要なもの (パスワード生成、セキュリティトークン、A/B テスト) には使えません。暗号学的なランダム性には専用のパスワードジェネレーターを使ってください。

よくある質問

ケース変換ツールは何をするものですか?
ケース変換ツールはひとかたまりのテキストを受け取り、異なるケース — UPPERCASE、lowercase、Title Case、Sentence case、あるいは camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE などのプログラミング命名ケース — で再描画します。本ツールは 15 種類のすべての一般的なバリアントを同時に表示するため、貼り付ける前にどの変換を選ぶか決める必要がありません。貼り付け、グリッドをスキャンし、必要なものをコピーするだけです。JavaScript によりブラウザ内で完全に動作します — 登録不要、アップロード不要、サーバーとのやり取りなし、貼り付けたテキストに対する分析も行いません。
camelCase、PascalCase、snake_case の違いは何ですか?
3 つともコード内で複数語の識別子を命名する慣例です。camelCase は小文字で始まり、2 語目以降の各単語の頭文字を大文字にし、区切り文字を使いません: `userProfileImage`。PascalCase は最初の単語を含むすべての単語を大文字始まりにします: `UserProfileImage` — 大半の言語のクラス名や React のコンポーネント名で使われます。snake_case はすべてを小文字にし、単語をアンダースコアで連結します: `user_profile_image` — Python、Ruby、Rust、そして大半のデータベースカラム名の慣例です。kebab-case は同じ考え方でハイフンを使います: `user-profile-image` — CSS クラス名、URL スラッグ、HTML 属性で使われます。CONSTANT_CASE はアンダースコア区切りの大文字です: `USER_PROFILE_IMAGE` — 定数や環境変数向け。コードベースの既存スタイルに合うものを選びましょう。
トークナイザーは XMLHttpRequest や parseHTML のような頭字語をどう扱いますか?
トークナイザーは大文字から大文字から小文字への境界 (XMLHttp → XML / Http) と、小文字から大文字への境界 (parseHTML → parse / HTML) を認識します。そのため `XMLHttpRequest` は `XML`、`Http`、`Request` のトークンになり、`xml_http_request`、`xml-http-request`、`XML_HTTP_REQUEST`、`Xml-Http-Request` へきれいに変換されます。これは lodash、change-case npm パッケージ、Python の PEP 8 が使用する慣例と一致します — 言語をまたいだ頭字語の扱いに関する事実上の標準です。1 つのトレードオフ: PascalCase に戻すとき、頭字語はタイトルケース化されます (`XMLHttpRequest` は `XmlHttpRequest` として往復します)。再トークン化での曖昧性を避けるための標準的な慣例です。
Title Case と Sentence case の違いは何ですか?
Title Case は各単語の最初の文字を大文字にし、残りを小文字のままにします: `Hello World Example`。本ツールは素朴なバリアント — すべての単語を大文字始まり — を使用しており、これはカジュアルな用法で多くの人が「タイトルケース」と呼ぶものです。一部のスタイルガイド (APA、Chicago、AP) は `a`、`an`、`the`、`of`、`in`、`for` などの短い冠詞や前置詞を小文字にすることを推奨します。それらのバリアントは別の「見出し」専用ツールに属するほど異なります。Sentence case は各文の最初の文字 (および入力の最初の文字) のみを大文字にします: `Hello world example. This is a sentence.` 見出しや書籍タイトルには Title Case を、説明文、キャプション、本文には Sentence case を使いましょう。
入力したテキストはどこかにアップロードされますか?
いいえ。すべてのケース変換は JavaScript により 100% ブラウザ内で動作します。テキストは送信もサーバー保存もログ記録もされず、人間や AI による分析も行われません。ブラウザの Network タブで確認できます — エディタへの入力や Copy のクリックはネットワークリクエストをゼロ発生させます。これにより本ツールは、未発表の製品名、社内変数スキーム、法務テキストの下書き、ジャーナリストの情報源メモなど、機密性の高いあらゆる素材で安全に使えます。入力テキストに関する Cookie も使用していません。
他のケースからどう camelCase に変換できますか?
上のエディタにテキストを貼り付け、camelCase の出力カードをコピーします。どの開始フォーマットからでも動作します: 空白を含む文 (`hello world` → `helloWorld`)、snake_case (`hello_world` → `helloWorld`)、kebab-case (`hello-world` → `helloWorld`)、PascalCase (`HelloWorld` → `helloWorld`)、CONSTANT_CASE (`HELLO_WORLD` → `helloWorld`)、あるいは頭字語が混在しているもの (`XMLHttpRequest` → `xmlHttpRequest`)。スマートなトークナイザーがすべての一般的な境界を自動認識するため、入力を事前にクリーンアップする必要はありません。
Unicode や英語以外の文字に対応していますか?
はい。ケース変換は JavaScript の Intl 対応の `toLocaleLowerCase()` および `toLocaleUpperCase()` メソッドを使用しており、トルコ語のドット付き / ドットなしの `İ`/`ı`、ドイツ語の `ß` (標準的な扱いでは `SS` に大文字化)、ギリシャ語の最終シグマ、その他ロケール依存のケースマッピングを正しく処理します。トークン化は `\p{L}` で任意の文字体系の文字を認識する Unicode 対応の正規表現パターンを使用します。プログラミングケースの出力 (camelCase、snake_case など) では、デフォルトで ASCII の文字と数字のみを識別子文字として扱います — 大半のプログラミング言語の制約と一致します — そのため、入力中の非ラテン文字はトークン内で変更されずに通過します。
dot.case と path/case の違いは何ですか?
どちらも小文字で区切り文字で連結された識別子です — 違いは区切り文字だけ。`dot.case` はピリオドを使います: `hello.world.example`。名前空間化 (Java パッケージ、Lodash メソッド、MongoDB のフィールドパス) や設定ファイルキー (TOML、INI) に一般的です。`path/case` はスラッシュを使います: `hello/world/example`。URL パス、ファイルシステムパス、Git ref の慣例です。どちらも同じトークン化から生成されるため、両者の変換は単に区切り文字の入れ替えです。識別子がデータ内の階層キーを表すなら dot.case、リテラルな場所を表すなら path/case を使いましょう。
なぜトークナイザーは数字で分割するのですか (file2x → file, 2, x)?
数字をトークン境界とすることは、現代の大半のコードベースが採用する慣例です — `parseUTF8` は `parse_utf_8` (PascalCase なら `parseUtf8`) に往復すべきで、`parseutf_8` ではありません。トークナイザーは文字から数字、数字から文字へのすべての遷移を境界として扱うため、`file2x` は `file / 2 / x` になります。数字を前の文字に貼り付けたままにしたい場合は、手動でトークン化したバージョン (`file 2x` のようにリテラル空白を入れたもの) を貼り付ければ、トークナイザーは空白を尊重します。この慣例は change-case パッケージや Python の PEP 8 と一致します。
alternating case と random case はどう違いますか?
Alternating case (aLtErNaTiNg cAsE) は決定論的に小文字と大文字を切り替えます — 奇数番目の文字はすべて大文字、偶数番目の文字はすべて小文字で、単語境界に関係なく動作します。同じ入力に対する結果は毎回同じです。Random case (RaNdOm CaSe) は各文字をコイン投げで独立に反転するため、貼り付けるたびに異なる結果が得られます。Re-shuffle をクリックすると、エディタをクリアせずにランダム出力を再生成できます。両者とも嘲笑用テキストフォーマット (いわゆる「スポンジボブミーム」) です。alternating は厳密版、random はカオス版です。他のケース出力は Re-shuffle の影響を受けません。
HTTP ヘッダー名を変換できますか?
はい — Header-Case の出力を使います。すべてのトークンを大文字始まりにし、ハイフンで連結することで、`Content-Type`、`Access-Control-Allow-Origin`、`X-Forwarded-For` のような正準的な HTTP ヘッダーの綴りを生成します。camelCase の JS プロパティ名 (`accessControlAllowOrigin`) を貼り付ければ、HTTP/1.1 仕様が使用する正確なヘッダーの綴りが得られ、`fetch()` のオプションオブジェクトやサーバーサイドのレスポンスにそのまま投入できます。なお、HTTP/2 は小文字のヘッダー名を好みます (そのバリアントには kebab-case を使ってください)。HTTP/1.1 はケース非依存ですが、Header-Case の綴りは慣例的に人間が読みやすい形式です。
段落全体を一度に変換できますか?
はい — テキストケースの変換 (UPPERCASE、lowercase、Title Case、Sentence case、iNVERSE、aLtErNaTiNg、RaNdOm) では、ツールは設計上すべての空白、改行、句読点を保持するため、段落全体や複数ページのドキュメントを貼り付けることもできます。プログラミングケースの変換 (camelCase、snake_case など) は識別子を生成するため、意図的に句読点を取り除きます。段落を camelCase に貼り付けると 1 つの巨大な識別子に折りたたまれます。技術的には正しい変換ですが、めったに有用ではありません。ドキュメント長のテキストにはテキストケースの出力のみを使い、識別子変換には 1 つずつ識別子を貼り付けましょう。
lodash、change-case、その他のケースライブラリと比べてどれくらい正確ですか?
トークナイザーとケース変換は、すべての一般的な入力について change-case npm パッケージ (`change-case` v5+) とバイト単位で同一の出力を生成します — 頭字語の扱い、数字を境界とするルール、Unicode 文字の認識すべて同じです。lodash の `_.camelCase`、`_.snakeCase`、`_.kebabCase`、`_.startCase` はわずかに異なるトークナイザーを使用しますが (より多くの文字で分割し、一部の Unicode クラスを異なる方法で扱います)、ASCII 入力に関しては一般的なケースで出力が一致します。本ツールの Title Case は素朴なバリアント (すべての単語を大文字始まり) で、lodash の `_.startCase` も同じです。APA や Chicago のタイトルケースルール (短い前置詞を小文字に) が必要な場合は、専用のタイトルケースライブラリを使ってください — 本ツールは大半の人が検索するケースに最適化されています。
Sentence case と Title Case が似ているのに両方あるのはなぜですか?
入力が 1 単語を超えるとすぐに分岐します。Sentence case はすべてを小文字にし、各文の最初の文字のみを大文字にします: `hello world. this is a sentence.` は `Hello world. This is a sentence.` になります。Title Case はすべての単語を大文字始まりにします: `Hello World. This Is A Sentence.` 現代の大半のスタイルガイド (Google、Microsoft、Apple) は、本文、キャプション、UI のマイクロコピーの慣例として Sentence case を採用しています。Title Case は古典的なタイポグラフィでは、見出し、ページタイトル、書籍タイトル、ダイアログウィンドウのタイトルの慣例です。現代の Web スタイルは、主要な見出し以外のすべてに Sentence case を増加的に好んでいます。

無料の Regex テスター — パターンをオンラインでデバッグ & マッチ

テキスト処理

任意のテキストに対して regex パターンを即座にテストできます。リアルタイムのマッチハイライト、キャプチャグループ、置換プレビュー、分割、パターン解説に対応。JavaScript 系の正規表現を 100% プライベートに、登録不要で利用できます。

テキスト比較と差分検出

テキスト処理

2 つのテキストをブラウザ内で即座に比較。並列ビュー、行内の単語レベルハイライト、統一 diff のエクスポート、大文字小文字・空白・空行の無視に対応。完全ブラウザ内処理でアップロード不要、テキストは端末から出ません。

無料の文字数カウンター & 単語カウントツール

テキスト処理

単語数、文字数、文の数、段落数、読了時間をリアルタイムで計測できます。Twitter、メタディスクリプション、Instagram の文字数制限チェックにも対応。無料・プライベート・登録不要。

進数変換ツール — 2進数・16進数・10進数・8進数

単位変換

無料オンライン進数変換ツール。2進数、8進数、10進数、16進数および任意の基数(2-36)間で数値を瞬時に変換。BigInt対応で桁数制限なし。登録不要・サーバー送信なし、すべての処理がブラウザ内で完結。コピーボタンやコードリテラル出力で開発作業を効率化。

Base64エンコーダー&デコーダー

エンコーディングとフォーマット

Base64のデコード・エンコードが無料でオンラインで行えます。リアルタイム変換、UTF-8・絵文字対応。100%ブラウザ上で動作しデータは外部に送信されません。登録不要。

Crontab ジェネレーター & cron 式ビルダー

日付/時刻ツール

ブラウザ上で cron 式を生成・検証・デコードできます。ローカルタイムまたは UTC での次回実行プレビュー、POSIX 5 フィールド構文、プリセット、自然言語による説明に対応。無料・プライベート・登録不要。