ケース変換ツール — UPPERCASE、lowercase、camelCase ほか
テキストを UPPERCASE、lowercase、Title Case、Sentence case、camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE など 15 形式へ即座に変換。無料・ブラウザ完結・登録不要。
テキストケース
lowercase
すべての文字を小文字に。空白を保持。
UPPERCASE
すべての文字を大文字に。空白を保持。
Title Case
各単語の最初の文字を大文字に。
Sentence case
各文の最初の文字を大文字に。
iNVERSE cASE
各文字の大文字 / 小文字を入れ替え。
aLtErNaTiNg cAsE
1 文字ごとに小文字と大文字を交互に。
RaNdOm CaSe
各文字を独立にコイン投げ。
プログラミングケース
camelCase
最初の単語は小文字、それ以降は大文字始まり、区切り文字なし。
PascalCase
すべての単語を大文字始まりに、区切り文字なし。
snake_case
小文字、アンダースコアで連結。
kebab-case
小文字、ハイフンで連結。
CONSTANT_CASE
大文字、アンダースコアで連結。
dot.case
小文字、ドットで連結。
path/case
小文字、フォワードスラッシュで連結。
Header-Case
各単語を大文字始まりに、ハイフンで連結。
ケース変換ツールとは?
ケース変換ツールとは、ひとかたまりのテキストを受け取り、異なる文字ケースの慣例で再描画する小さなユーティリティです。最もシンプルな形態は 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
テキストを貼り付けるか入力
エディタをクリックして入力するか、任意のテキスト — 文、段落、識別子、見出し — を貼り付けます。すべてのケース出力が即座に更新されます。ケースの違いを見るだけなら、Sample をクリックして代表的なフレーズを読み込みましょう。
- 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
必要なケースの Copy をクリック
各出力カードには独自の小さな Copy ボタンがあります。1 回クリックすると — そのケースがクリップボードに入り、ボタンが「Copied!」と光り、他の場所に貼り付ける準備が整います。出力テキストを先にハイライトする必要はありません。
- 4
必要なら random case を再シャッフル
同じテキストで異なる RaNdOm CaSe のバリエーションが欲しい場合は、アクションバーの Re-shuffle をクリックします。Random Case の出力のみが変わり、入力テキストと他のすべての出力はそのままです。
- 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 テスト) には使えません。暗号学的なランダム性には専用のパスワードジェネレーターを使ってください。
よくある質問
ケース変換ツールは何をするものですか?
camelCase、PascalCase、snake_case の違いは何ですか?
トークナイザーは XMLHttpRequest や parseHTML のような頭字語をどう扱いますか?
Title Case と Sentence case の違いは何ですか?
入力したテキストはどこかにアップロードされますか?
他のケースからどう camelCase に変換できますか?
Unicode や英語以外の文字に対応していますか?
dot.case と path/case の違いは何ですか?
なぜトークナイザーは数字で分割するのですか (file2x → file, 2, x)?
alternating case と random case はどう違いますか?
HTTP ヘッダー名を変換できますか?
段落全体を一度に変換できますか?
lodash、change-case、その他のケースライブラリと比べてどれくらい正確ですか?
Sentence case と Title 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 フィールド構文、プリセット、自然言語による説明に対応。無料・プライベート・登録不要。