仕様と根拠

正規化のしかた

RFC 3986 の 6.2 に沿って、スキームとホストを小文字にし、http の 80・https の 443 などの既定ポートと空のポートを取り除き、%の後ろの 16 進を大文字にし、英数字と - . _ ~ を表す %エンコードを元の文字に戻し、./ と ../ を整理し、パスが空なら / にします。パスの大文字小文字は区別したままです。

クエリの読み方と並べ替え

クエリは WHATWG URL Standard の 5.1 のとおり、& で区切り、最初の = で名前と値に分け、+ を空白に、%エンコードを UTF-8 として戻して読みます。並べ替えは 6.2 の sort のとおり名前の文字コード順で、同じ名前の値は元の順序を保ちます。書き出しは 5.2 のとおり、空白を + に、英数字と * - . _ 以外を %エンコードにします。

指摘にする条件

正規化すると同じになるアドレスは警告、大文字小文字だけが違うパスと、末尾のスラッシュの有無だけが違うパスも警告にします。同じパスでクエリだけが違うアドレスは、内容が同じとは限らないため情報として示します。Google は URL の大文字小文字を区別し、パラメータで重複アドレスが増えると説明しています。

根拠にした仕様・資料

仕様・資料と確認日
仕様・資料確認日使った箇所
WHATWG URL Standard2026年10月28日5.1(urlencoded の読み方)・5.2(書き出し)・6.2(sort は名前の文字コード順)・4.2(既定ポート)
RFC 3986 Uniform Resource Identifier (URI): Generic Syntax2026年10月28日5.2.4(ドットセグメントの除去)・6.2.2(構文にもとづく正規化)・6.2.3(スキームにもとづく正規化)
Google 検索セントラル URL 構造2026年10月28日アドレスの大文字小文字は区別される・パラメータによる重複アドレス

指摘の段階

入力の扱い(送信しない仕組み)

処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。

このツールでできないこと(制約)

ご利用にあたって

  • 正規化後のアドレスは書き方の整理であり、実際のリダイレクトや canonical の設定は別に確認してください。
  • 大量のアドレスを貼り付けると、お使いの端末の性能によって処理に時間がかかることがあります。