機能の説明
1 つのテキストを 10 のケース規約に一度に変換します:camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE、slug、Title Case、Sentence case、UPPER、lower。チップを選ぶと、テキストがそのケースで再描画されます。短い 1 行の結果は大きい文字で、長いまたは複数行の結果は出力ボックスに描画されます。共有リンクはケースとテキストの両方を運ぶため、正確な設定をそのまま送れます。
使い方
- 入力欄にテキストをタイプまたは貼り付けます。
- 上部の 10 個のケースチップのいずれかを選びます。
- 変換結果を読みます。短い結果は大きく、長いまたは複数行の結果はボックスに表示されます。
- 結果をコピーするか、共有リンクをコピーして、ケースとテキストを保持したままツールを再開します。
例
入力 hello world を、ツールが提供するすべてのケースで変換した結果:
| ケース | 結果 |
|---|---|
| camelCase | helloWorld |
| PascalCase | HelloWorld |
| snake_case | hello_world |
| kebab-case | hello-world |
| CONSTANT_CASE | HELLO_WORLD |
| slug | hello-world |
| Title Case | Hello World |
| Sentence case | Hello world |
| UPPER | HELLO WORLD |
| lower | hello world |
slug と kebab-case はここでは同じ文字列を生成します。違いは意図です:slug は URL セグメント、kebab-case は識別子の規約です。
テキストケースの仕組み
各規約は「単語のつなぎ方」のルール 1 つと「大文字化」のルール 1 つの組み合わせです:
| 規約 | つなぎ | 大文字化 | 主な居場所 |
|---|---|---|---|
| camelCase | なし | 先頭単語は小文字、以降は頭文字大文字 | JavaScript・TypeScript の変数、関数 |
| PascalCase | なし | 全単語を頭文字大文字 | クラス、React コンポーネント、TypeScript 型 |
| snake_case | アンダースコア | 全て小文字 | Python の識別子、SQL のカラム・テーブル名 |
| kebab-case | ハイフン | 全て小文字 | CSS クラス、カスタム HTML 属性、パッケージ名 |
| CONSTANT_CASE | アンダースコア | 全て大文字 | 環境変数、enum 値、設定キー |
| slug | ハイフン | 全て小文字 | URL パスセグメント - Slugify が生成するもの |
残る 4 つ(Title、Sentence、UPPER、lower)は識別子ではなく散文を整形します:見出し、冒頭行、叫び、正規化です。
ツールが単語を見つける方法。 入力を空白、アンダースコア、ハイフン、ドットで分割し、camelCase は小文字→大文字の境界で分割します(helloWorld は hello + World に)。記号は落ちるため、hello, world! と Hello World はどちらも同じ helloWorld に変換されます。どんな混在入力を貼っても、10 個の出力はすべて同じ単語リストから生まれます - 異なるのはつなぎと大文字化のルールだけです。
なぜチームは面ごとにケースを 1 つに固定するのか。 3 つの層で user-id、userId、user_id と書くコードベースでは、すべての境界が変換バグになります。上の表が事実上の地図です:面ごとにケースを一度決めてしまえば、変換は機械的な作業になります。
補足事項
- 単語分割は情報を落とす。 句読点は保持されずに脱落します:
hello, world!はコンマなしのhelloWorldになります。 - 数字は文字として扱われる。
version 2は他の単語と同様にversion2/VERSION_2に変換されます。 - プライベート: すべての変換はブラウザー内でローカルに実行されます。何もどこにも送信されません。
- 関連ツール: Slugify、Word Counter。