CSS の整形と圧縮
整形処理はすべてブラウザ内で完結します。データは送信されません
1行に圧縮されたスタイルシートを展開します:各ルールブロックの宣言はそれぞれ別の行に、セレクタのリストはカンマごとに改行し、@media とネストしたルールは1段ずつ深くインデントし、空のルールは1行にまとめます。圧縮モードは逆に、構造上の位置にある空白だけを削除し、} の前の余分なセミコロンも落とします。一方で margin: 0 auto の中の空白や a :hover のコロンの前の空白は意味を持つので、削除するとスタイルが壊れてしまいます —— そのため一切そのままにします。
機能
- ルールブロックを展開:セレクタが1行、宣言は1行ずつ、} はセレクタと桁を揃えます
- セレクタのリストはカンマで改行。値の中のカンマ(フォントのリスト、rgba())はその場に残します
- 空のルールは1行にまとめます(a {})
- 宣言のコロンは color: red のように統一し、セレクタの擬似クラスのコロン(&:hover、a:hover)には空白を入れません
- 文字列・コメント・url() の中の構造文字は判断に加わりません:content: "}" や data URI の中のセミコロンがルールを壊すことはありません
- data URI はひとまとまりとして扱い、中のセミコロンで宣言が2つに割れることはありません
- 圧縮モードは構造上の空白、} の前の余分なセミコロン、通常のコメントを削除します
- /*! ... */ 形式の著作権コメントは残します
- 構文チェックはしません:括弧が対応していない場合もエラーにせず、できる範囲でインデントします
使い方
- CSS を入力欄に貼り付けます
- 処理方法とインデントを選びます
- Ctrl/⌘ + Enter を押すか「実行」をクリックします
- 「コピー」で結果を取り出せます
よくある質問
- 圧縮すると margin: 0 auto の空白も消えますか?
- いいえ。削除されるのは { } ; , : の前後の空白だけです。0 auto は2つの値で、空白が1つ足りないと宣言全体が無効になります —— こうした空白は常に残します。
- a :hover は a:hover に圧縮されますか?
- いいえ。セレクタのコロンの前の空白は子孫結合子で、a :hover と a:hover はまったく別のルールです。圧縮してもそのまま残します。
- ネスト記法(CSS Nesting)に対応していますか?
- 対応しています。&:hover のコロンと宣言のコロンは同じ判定で区別します:後ろに ; か } が続くコロンだけを宣言のコロンとして扱うので、セレクタが &: hover のような不正な形になることはありません。
- CSS は送信されますか?
- いいえ。処理はすべてブラウザのメモリ内で完結し、ページはリクエストを一切送りません。オフラインでも使えます。
関連ツール
JavaScript 整形
整形JavaScript をオンラインで整形:波括弧とセミコロンで組み直し、文字列とコメントはそのまま保持。構文解析はせず、インデントだけを行います。
HTML 整形
整形HTML をオンラインで整形・圧縮:タグの階層ごとにインデントし、テキストとインライン要素は同じ行のまま。script と pre の中身はそのまま保持します。
色変換
変換・計算HEX・RGB・HSL・HSV の相互変換と、文字色と背景色の WCAG コントラスト比の計算。AA・AAA に届いているかも判定します。すべてブラウザ内で処理します。
JSON 整形
整形JSON をオンラインで整形・圧縮し、構文エラーは行・列まで特定。キー名の再帰的な並べ替えにも対応。解析はすべてブラウザ内で行い、送信しません。
JSON → コード
整形JSON サンプルから TypeScript interface、Go struct、Java class、Rust struct を生成。欠けたキーは任意に、型の衝突は共用型に。すべてブラウザ内で処理します。
SQL 整形
整形SQL をオンラインで整形:キーワードの大文字小文字を統一し、SELECT / FROM / WHERE などの句ごとに改行。圧縮は余分な空白とコメントを削除します。