IP конвертер

Конвертируйте IPv4 в десятичный, двоичный, HEX, восьмеричный формат.

Работает в обе стороны: введите IPv4 с точками или число в десятичном, HEX (0x…) или двоичном виде — получите все форматы.

IP конвертер

Конвертируйте IPv4 в обе стороны: из записи с точками в десятичное число, двоичный, HEX и восьмеричный вид — и обратно, из числа, HEX или двоичного вида в обычный IP.

Десятичный ↔ двоичный ↔ HEX
Обратная конвертация: число, HEX или двоичный вид → IP
Integer-представление IP

Как пользоваться

  1. Введите IPv4 (например, 192.168.1.1) или число в десятичном, HEX либо двоичном виде
  2. Инструмент преобразует IP в десятичный, двоичный, HEX и восьмеричный форматы
  3. Скопируйте нужное представление IP-адреса из результатов

FAQ

Разные системы могут требовать IP в различных форматах. Также конвертация полезна для обучения и понимания структуры IP-адресов.

Это единое число, получаемое объединением всех октетов IP. Например, 192.168.1.1 в десятичном формате равен 3232235777.

IP address to binary/hex converter: как читать результат

Конвертер принимает IPv4-адрес в обычной записи с точками (192.168.1.1) и показывает его в четырёх представлениях: десятичное число (decimal), двоичная запись по октетам (binary), шестнадцатеричная (HEX) и восьмеричная (octal). Ниже — таблица октетов, где каждый из четырёх байтов адреса разложен в Dec, Bin и Hex, класс сети и пометка, частный ли это адрес. Любое значение копируется кнопкой.

Для 192.168.1.1 результат такой:

ФорматЗначениеГде встречается
Decimal3232235777Поля INT UNSIGNED в базах, логи, API, GeoIP-базы
Binary11000000.10101000.00000001.00000001Расчёт масок и подсетей вручную
HEX0xC0A80101Дампы пакетов, /proc/net в Linux, прошивки, код
Octal300.250.1.1Редко; учебные задачи и обфускация адресов

Восьмеричные октеты выводятся без ведущего нуля. Если вы подставляете их туда, где разбирается адрес (ping, браузер, inet_aton), нужен префикс: 0300.0250.01.01. Без нуля строка 300.250.1.1 будет прочитана как обычный десятичный адрес и отклонена как некорректная.

IPv4 — это одно 32-битное число

Запись с точками — лишь удобная форма. Внутри адрес — 32 бита, разбитые на четыре октета по 8 бит, каждый от 0 до 255. Все остальные форматы — то же число в другой системе счисления. Поэтому любое преобразование сводится к двум операциям: собрать октеты в число и разобрать число на октеты.

IP в десятичное число и обратно (decimal to IP address)

Формула: A×16777216 + B×65536 + C×256 + D, где 16777216 = 256³, 65536 = 256².

192×16777216 = 3221225472
168×65536    =   11010048
1×256        =        256
1            =          1
-------------------------
               3232235777

Обратно — целочисленное деление с остатком:

3232235777 ÷ 16777216 = 192, остаток 11010305
  11010305 ÷ 65536    = 168, остаток 257
       257 ÷ 256      =   1, остаток 1
→ 192.168.1.1

Именно так конвертер считает decimal; обратное направление (decimal to IP) он не выполняет, поэтому для него пригодится эта схема или команды ниже.

IP в двоичный код и binary to IP

Каждый октет переводится отдельно и дополняется нулями слева до восьми знаков. Веса разрядов: 128, 64, 32, 16, 8, 4, 2, 1.

172 = 128 + 32 + 8 + 4  → 10101100
 16 = 16                → 00010000
  5 = 4 + 1             → 00000101
 10 = 8 + 2             → 00001010
172.16.5.10 → 10101100.00010000.00000101.00001010

Binary to IP — в обратном порядке: разбейте 32 бита на группы по восемь (если точек нет — отсчитывайте с начала строки) и сложите веса единичных разрядов в каждой группе. Ведущие нули терять нельзя: 101 в третьей группе — это 5, но если «съесть» нули при склейке строки, все последующие октеты сдвинутся.

Двоичный вид нужен, чтобы понять маску подсети. /26 — это 26 единиц и 6 нулей: 11111111.11111111.11111111.11000000 = 255.255.255.192. Сеть, маску и диапазон адресов посчитает калькулятор подсетей, а разбиение диапазонов на блоки — CIDR-калькулятор.

IP в HEX и hex to IP

Каждый октет — две шестнадцатеричные цифры: 192 = C0, 168 = A8, 1 = 01. Склеиваем: C0A80101, с префиксом — 0x, как в отчёте. Hex to IP: разбейте строку на пары и переведите каждую в десятичное число (C0 = 12×16 + 0 = 192). Если в записи меньше восьми цифр, сначала дополните её нулями слева: 0x8080808 → 08080808 → 8.8.8.8.

Ловушка: обратный порядок байтов

В Linux-файлах /proc/net/route и /proc/net/tcp адреса записаны в HEX, но в порядке байтов процессора (little-endian). Шлюз 0101A8C0 из /proc/net/route — это не 1.1.168.192, а 192.168.1.1: пары читаются с конца. Если hex to decimal IP даёт явную бессмыслицу, попробуйте развернуть байты.

Шпаргалка: частые значения октетов

Эти числа встречаются в адресах и масках постоянно, и их полезно узнавать сразу. 128, 192, 224, 240, 248, 252, 254, 255 — все возможные значения октета маски: единицы в них идут подряд слева.

DecBinaryHEX
00000000000
10000000101
10000010100A
127011111117F
1281000000080
16810101000A8
17210101100AC
19211000000C0
22411100000E0
24011110000F0
24811111000F8
25211111100FC
25511111111FF

В Excel и Google Таблицах октет переводится формулами =DEC2BIN(A1;8) и =DEC2HEX(A1;2), обратно — =BIN2DEC() и =HEX2DEC(). Для целого адреса разбейте его на октеты через «Текст по столбцам» с разделителем-точкой.

Конвертация IP в коде и в терминале

# Python
import ipaddress
int(ipaddress.IPv4Address('192.168.1.1'))      # 3232235777
str(ipaddress.IPv4Address(3232235777))          # '192.168.1.1'
str(ipaddress.IPv4Address(0xC0A80101))          # '192.168.1.1'
str(ipaddress.IPv4Address(int('10101100000100000000010100001010', 2)))  # '172.16.5.10'

# PHP
sprintf('%u', ip2long('192.168.1.1'));          // 3232235777
long2ip(3232235777);                            // 192.168.1.1

# MySQL
SELECT INET_ATON('192.168.1.1'), INET_NTOA(3232235777);

# Bash: IP → HEX
printf '%02X' 192 168 1 1; echo                 # C0A80101

В PHP ip2long() на 32-битных сборках возвращает отрицательное число для адресов от 128.0.0.0 — поэтому выводите его через sprintf('%u'). В базе храните IPv4 как INT UNSIGNED: 4 байта вместо 15 символов строки и быстрый поиск по диапазону BETWEEN.

Числовые формы адреса в браузере и почему это важно

Парсеры адресов (и браузеры по стандарту URL) принимают IPv4 не только с точками: http://3232235777/, http://0xC0A80101/ и http://0300.0250.01.01/ ведут на один и тот же 192.168.1.1. Этим пользуются фишинговые ссылки, чтобы спрятать адрес, и атаки SSRF — для обхода фильтров вида «запретить 127.0.0.1». Если вы проверяете адреса в своём коде, сначала нормализуйте их до 32-битного числа, а уже потом сравнивайте с чёрным списком.

Класс сети и частные адреса

Поле «Класс сети» показывает историческую классовую схему по первому октету: A — 0–127, B — 128–191, C — 192–223, D — 224–239 (multicast), E — 240–255 (резерв). С 1993 года маршрутизация бесклассовая (CIDR), поэтому класс — справочная информация, а не реальный размер сети. Флаг «Приватный IP» отмечает диапазоны RFC 1918: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16. Такие адреса не маршрутизируются в интернете: ваш внешний адрес показывает «Мой IP», а IP сайта — IP домена.

Коротко об IPv6

Конвертер работает только с IPv4. IPv6 — 128 бит, восемь групп по четыре HEX-цифры: 2001:0db8:0000:0000:0000:0000:0000:0001. Ведущие нули в группе опускаются, одна серия нулевых групп сворачивается в :: — получается 2001:db8::1. Двоичная и десятичная формы IPv6 на практике почти не используются: 128-битное число неудобно и в записи, и в базе. IPv4 внутри IPv6 записывается как ::ffff:192.168.1.1, то же самое в HEX — ::ffff:c0a8:101.

Каскадное продвижение сайта ссылками Бонус $30Беклинки 5→50→5000 на 100+ площадках. Старт от $30, бонус $30 новичкам.