ドット区切りの IPv4 アドレスまたは 0〜4294967295 の整数を入力し、変換する向きを選びます。形式が合わない入力は誤った値に変換されず、理由が表示されます。
ブラウザ内でローカルに実行このページは、ドット区切りの IPv4 アドレスを4つのオクテットが表す符号なし32ビット整数に変換し、その逆も行います。192.168.10.1 は 3232238081 になり、3232238081 は 192.168.10.1 に戻ります。
変換はブラウザーのタブ内で実行され、アドレスがサーバーへ送信されることはありません。有効なドット区切り IPv4 アドレス、または 0〜4294967295 の整数でない値は、誤った結果に変換されず、理由を示すメッセージとともに拒否されます。
IPv4 アドレスは、4つの10進オクテットで表記される32ビットの数値です。値はネットワークバイト順で計算され、先頭のオクテットが最上位バイトになります。つまり 16,777,216(256³)倍、2番目が 65,536 倍、3番目が 256 倍、最後が1倍です。192.168.10.1 が 3232238081 になるのはこのためで、範囲の両端は 0.0.0.0 = 0、255.255.255.255 = 4294967295 になります。
データベースやネットワーク API がアドレスをこの形で保存するのは、1つの整数のほうが文字列より比較・並べ替え・インデックスに適しているからです。PHP の ip2long() と MySQL の INET_ATON() は、このページと同じ値を返します(このページを配信するサーバーで確認済み)。値は符号なしで、同じ32ビットを符号付き整数として読むと 128.0.0.0(2147483648)以降は負になります。
アドレスには、ドットで区切った10進オクテットを4つ、それぞれ 0〜255 で先頭に0を付けずに入力する必要があります。192.168.010.1 は先頭の0でオクテットが曖昧になるため拒否されます。オクテットが3つ、5つ、文字が含まれる、値の中に空白がある場合も拒否されます。以前は 192.168.10.1.5 のような5オクテットを、最後の部分を黙って無視して受け付けていました。
整数には、符号・小数点・指数のない10進数字だけを入力します。-1、1.5、3.232238081e9 は拒否され、4294967295 を超える値も拒否されます。このページが変換するのは IPv4 のみです。::1 のような IPv6 アドレス、/24 のようなプレフィックス長、16進数や8進数の表記は変換せず、無効な入力として報告します。
出力は意図的に単純です。桁区切りのない10進整数か、先頭に0のないドット区切りアドレスなので、SQL や設定ファイル、コードにそのまま貼り付けられます。テキストを手で選択する代わりに「結果をコピー」を使います。コピーはブラウザー内で完結し、データの送信は不要です。
サーバーへ何も送信しないため、一度読み込めばネットワークが切れていても変換でき、同じ値は ip2long()、INET_ATON()、inet_aton() で確認できます。結果欄に保持される値は1つだけで、変換のたびに置き換わり、「クリア」で両方の欄が空になります。