HTML CSS minify | JS難読化
対象タイプ
オプション
minify
shrink
obfuscate
変換中…
利用方法
- 『変換前』にHTML / CSS / JavaScript を入力してください。入力が止まると、対象タイプとオプションに合わせて自動的に変換されます。変換している間は、『変換後』の欄に「変換中…」と表示されます。変換が終わると、『変換後』の欄の下に変換前と変換後のサイズ(UTF-8 のバイト数)と、削減できた割合が表示されます。
- 変換できなかったときは、『変換後』の欄の上に「変換できませんでした」と理由が表示されます。
- 入力は 1 MiB(UTF-8 のバイト数)までです。超えるときは、小さく分けて変換してください。
- JavaScript はオプションを変更することで難読化 ( Shrink / Obfuscate ) できます。対象タイプが HTML のときは、<script>〜</script> の中だけが JavaScript として扱われ、オプションが効きます。<script> の無い JavaScript だけの入力は、対象タイプで JavaScript を選んでください。
- HTML の部分と <style>〜</style> の中の CSS、および対象タイプが CSS のときは、minify のみです。
minifyについて
- HTML / CSS / JavaScriptをminify変換します。minifyとは「データ容量の削減」のためのファイルサイズ圧縮テクニックです。 HTML / CSS / JavaScriptには、何も対処をしていない場合、ブラウザ描画には必要のない改行や空白・コメントが含まれています。 これらを取り除きファイルサイズを削減するのがファイル圧縮(minify)です。
難読化について
- 難読化コード(Obfuscated code)とは、コンピュータプログラムにおいて、その内部的な動作の手続き内容・構造・データなどを人間が理解しにくい、 あるいはそのようになるよう加工されたソースコードやマシンコードのことです。
-
下記のような目的で難読化が利用されます。
- コードの目的を隠蔽したり、改竄(タンパリング)やリバースエンジニアリングを阻止するため。
- コードを解読するもののためのパズルや娯楽として。
- ソースを見られるのがちょっぴり恥ずかしい...
オプションについて
-
minifyによりブラウザ描画には必要のない改行や空白・コメントが取り除かれ、ファイルサイズは圧縮されますが、オプションを変更することで更にコードを解読し難くできます。
『minify』を選択した場合はファイル圧縮のみを行います。
『shrink』を選択するとJS内の変数名や関数名を簡略変換します。(minify + 簡易難読化)
『obfuscate』を選択するとBase62エンコードで難読化を行います。(minify + 難読化)
元に戻すための処理(約250バイト)が付け加わるため、短いコードでは変換前より長くなります。十数KB以上のコードでは、繰り返し現れる語をまとめるため、『shrink』より小さくなることがあります。
import / export を使うコード(type="module" の <script> など)は、『obfuscate』を選ぶと全体が eval で包まれ、ブラウザで動かなくなります。この場合は『minify』か『shrink』を選んでください。
対象タイプを HTML にすると、HTML の部分と style 内の CSS は minify し、script 内の JavaScript は選んだオプションで変換します。
script・style の外に CSS や JavaScript を書いた場合など、希望通りの結果にならないときは、それぞれにわけてminifyや難読化を行ってください。 - Base62エンコードにおける難読化ロジックは 『 /packer/ 』 を利用しています。
免責事項
当サイトをご利用したことによる、またはご利用になれないことにより生じるトラブルや損害には、当方は一切の責任を負いません。
text_fields テキスト・変換 のほかのツール
- 文字数カウンター 文字数・バイト数・行数を数えます。
- HTMLエスケープ &・<・> などの特殊文字を、HTMLで安全に使える形へ変換します。
- HTMLエンティティ化 文字をHTMLの数値参照・名前付き参照へ変換します。
- URLエンコード URLに使えない文字を %XX 形式に変換し、元にも戻せます。
- Base64 文字列やファイルをBase64へ変換し、元にも戻せます。
- 差分チェッカー 2つの文章やファイルを比べ、違う箇所を色分けして示します。
- 難読化・minify表示中 HTML・CSS・JavaScriptを圧縮(minify)または難読化します。
- 整形化 圧縮されたHTML・CSS・JavaScriptを読みやすく整形します。