MiServe DevTools

あなたのステッカー

ツールをここにピン留めできます。このブラウザに保存されます。

ケース変換ツール

テキストを小文字、大文字、単語の先頭を大文字にする形式、そして camelCase、PascalCase、snake_case、kebab-case などのコードの命名規則に変換します。

識別子の形式とスラッグは、行ごとに個別に適用されます。

小文字
大文字
単語の先頭を大文字
文頭を大文字
camelCase
PascalCase
snake_case
SCREAMING_SNAKE_CASE
kebab-case
Train-Case
dot.case
path/case
URL スラッグ

ブラウザ内で動作します。貼り付けた内容はアップロードされません。

このツールについて

テキストを単語に分割するしくみ

識別子の形式はどれも同じ手順から始まります。入力を単語に分割し、別の区切り文字と大文字・小文字の規則で単語をつなぎ直します。英字と数字以外の文字はすべて単語の区切りになります。スペース、句読点、ハイフン、アンダースコア、ドット、スラッシュなどです。英字が続く中では、小文字または数字の直後の大文字が新しい単語の始まりになるので、fooBar は foo と Bar として読み取られます。Web ページが長い単語を改行するために使うソフトハイフンのように、単語の中にある目に見えない文字は、区切りとはみなさずに無視します。

頭字語はひとまとまりのまま扱います。大文字が続く中で、最後の大文字の後に小文字が来る場合は、その最後の大文字から新しい単語が始まります。そのため HTTPServer は http_server に、parseXMLFile は parse_xml_file になります。数字は直前の英字にくっついたままになります。sha256Hash は sha256_hash になります。2 つの英字の間のアポストロフィは削除されるので、don't は dont になります。

各形式と使われる場面

camelCase は JavaScript、Java、Swift の変数名や関数名の慣例です。PascalCase は多くの言語でクラス名や型名に使われ、Go ではエクスポートされる識別子に使われます。snake_case は Python、Ruby、Rust の変数名の形式で、SQL のカラム名にもよく使われます。SCREAMING_SNAKE_CASE は定数や環境変数に使われます。kebab-case は URL、CSS のクラス名、コマンドラインのフラグに、Train-Case は Content-Type のような HTTP ヘッダー名に使われます。

このツールの Title Case(単語の先頭を大文字)は、すべての単語の先頭を大文字にします。「of」や「and」のような短い語を小文字のままにするスタイルガイドの規則は適用しません。その規則はガイドによっても言語によっても異なるからです。Sentence case(文頭を大文字)は、いったんすべてを小文字にしてから、テキストの先頭、各行の先頭、そしてピリオド、疑問符、感嘆符、三点リーダーとスペースの後に続く文字を大文字にします。固有名詞や略語と普通の単語を区別できないため、Ask Dr. Smith は Ask dr. Smith になります。変換後に固有名詞と頭字語を確認してください。

URL スラッグ

スラッグは、テキストを ASCII の小文字と数字だけにし、それらを 1 つのハイフンでつないだものです。アクセント記号は、Unicode 正規化形式 NFKD で各文字を分解し、結合文字を取り除くことで削除されます。そのため é は e になります。同じ処理で合字や全角文字も通常の文字に変わるので、1 文字の fi は fi になります。分解できない文字はつづりを置き換えます。ß は ss に、æ は ae に、ø は o になります。漢字やアラビア文字のように ASCII に相当する文字がないものは取り除かれます。

その他の形式では、アクセント付きの文字やラテン文字以外の文字はそのまま残ります。大文字・小文字の変換はブラウザの言語の規則ではなく Unicode のデフォルトの対応表に従うので、ブラウザの言語設定によって結果が変わることはありません。その結果、ß を大文字にすると SS になり、トルコ語の点のない ı と点のある İ はトルコ語の正書法どおりには対応しません。

よくある質問

camelCase と PascalCase の違いは何ですか?

どちらも区切り文字なしで単語をつなぎ、各単語の先頭を大文字にします。camelCase は userName のように最初の単語を小文字のままにし、PascalCase は UserName のように最初の単語も大文字にします。

HTTP や ID のような頭字語はどう扱われますか?

大文字の連続は 1 つの単語として読み取られるので、getUserID は get_user_id に、HTTPServer は http_server になります。camelCase と PascalCase では頭字語の大文字は先頭の 1 文字だけになり、httpServer や HttpServer となります。スタイルガイドで頭字語をすべて大文字にする場合は、その部分を手で直してください。

複数の名前をまとめて変換できますか?

はい。1 行に 1 つずつ名前を書いてください。識別子の形式とスラッグは各行を個別に変換し、改行もそのまま残すので、カラム名のリストはリストのままになります。

入力したテキストはサーバーに送信されますか?

いいえ。変換はブラウザのタブ内の JavaScript で行われます。このツールが入力した内容を含むネットワークリクエストを送ることはなく、サイトのセキュリティポリシーにより、ほかのホストへのリクエストはブロックされます。

テキストのほかのツール