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-адреси у двійковий, HEX і десятковий формат

Конвертер приймає IPv4-адресу у звичному записі з крапками (10.0.0.5) і показує її в чотирьох поданнях: десяткове число, двійковий запис за октетами, шістнадцятковий (HEX) і вісімковий. Нижче — таблиця октетів, де кожен із чотирьох байтів розкладено в Dec, Bin і Hex, клас мережі та позначка, чи адреса приватна. Будь-яке значення можна скопіювати кнопкою.

Для 10.0.0.5 результат такий:

ФорматЗначенняДе трапляється
Decimal167772165Поля INT UNSIGNED у базах, логи, GeoIP-бази
Binary00001010.00000000.00000000.00000101Ручний розрахунок масок і підмереж
HEX0x0A000005Дампи пакетів, /proc/net у Linux, код
Octal12.0.0.5Рідко: навчальні задачі, маскування адрес

Вісімкові октети виводяться без нуля на початку. Якщо підставляєте їх туди, де адресу розбирає парсер (ping, браузер), потрібен префікс: 012.0.0.05. Без нього 12.0.0.5 буде прочитано як звичайну десяткову адресу — а це вже інший хост.

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

Запис із крапками — лише зручна форма. Усередині адреса — 32 біти, поділені на чотири октети по 8 біт, кожен від 0 до 255. Решта форматів — те саме число в іншій системі числення, тож будь-яке перетворення зводиться до двох дій: зібрати октети в число й розібрати число на октети.

З IP у десяткове число й назад

Формула: A×16777216 + B×65536 + C×256 + D (16777216 = 256³, 65536 = 256²). Для 10.0.0.5: 10×16777216 = 167772160, плюс 5 — 167772165.

Назад — ділення з остачею, приклад для 3232235777:

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

Конвертер рахує лише напрямок «IP → число». Для зворотного скористайтеся цією схемою або командами нижче.

З IP у двійковий код і binary to IP

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

192 = 128 + 64          → 11000000
168 = 128 + 32 + 8      → 10101000
 77 = 64 + 8 + 4 + 1    → 01001101
200 = 128 + 64 + 8      → 11001000
192.168.77.200 → 11000000.10101000.01001101.11001000

Зворотне перетворення: поділіть 32 біти на групи по вісім і додайте ваги одиничних розрядів у кожній групі. Не губіть нулі на початку групи — інакше всі наступні октети зсунуться.

Двійковий вигляд пояснює маску підмережі: /20 — це 20 одиниць і 12 нулів, тобто 255.255.240.0. Мережу, маску й діапазон адрес порахує калькулятор підмереж, а поділ діапазонів на блоки — CIDR-калькулятор.

З IP у HEX і hex to IP

Кожен октет — дві шістнадцяткові цифри: 192 = C0, 168 = A8, 77 = 4D, 200 = C8. Разом — C0A84DC8, із префіксом — 0xC0A84DC8. Назад: поділіть рядок на пари й переведіть кожну (4D = 4×16 + 13 = 77). Якщо цифр менше восьми, доповніть нулями зліва: 0xA000005 → 0A000005 → 10.0.0.5.

Пастка: зворотний порядок байтів

У файлах Linux /proc/net/route і /proc/net/tcp адреси записано в HEX, але в порядку байтів процесора (little-endian). Шлюз 0101A8C0 — це не 1.1.168.192, а 192.168.1.1: пари читаються з кінця. Якщо результат hex to 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(). Цілу адресу спершу розбийте на октети через «Текст за стовпцями» з крапкою як роздільником. Шістнадцяткові цифри A–F означають 10–15, тож будь-яку пару легко порахувати в голові: перша цифра × 16 + друга.

Перетворення в коді

# Python
import ipaddress
int(ipaddress.IPv4Address('10.0.0.5'))          # 167772165
str(ipaddress.IPv4Address(167772165))           # '10.0.0.5'
str(ipaddress.IPv4Address(0xC0A84DC8))          # '192.168.77.200'

# PHP
sprintf('%u', ip2long('192.168.77.200'));       // 3232255432
long2ip(167772165);                             // 10.0.0.5

# MySQL
SELECT INET_ATON('10.0.0.5'), INET_NTOA(167772165);

У базі зберігайте IPv4 як INT UNSIGNED: 4 байти замість рядка до 15 символів і швидкий пошук за діапазоном через BETWEEN. У PHP виводьте результат ip2long() через sprintf('%u'), щоб на 32-бітних збірках не отримати від'ємне число.

Де десяткова форма IP трапляється на практиці

Найчастіше — у базах геолокації та журналах. Наприклад, у CSV-базах IP2Location діапазони задано парою чисел ip_from і ip_to: щоб знайти країну для адреси, її переводять у число й шукають рядок, де воно потрапляє між межами. Так само працюють власні таблиці блокувань і білих списків: порівняти два числа простіше й швидше, ніж розбирати рядки. Ще одне місце — аналітика й CRM, які інколи експортують IP як число: перш ніж шукати таку адресу в логах вебсервера, переведіть її назад у запис із крапками.

Числові форми адреси в посиланнях

Браузери за стандартом URL приймають IPv4 не лише з крапками: http://3232235777/ і http://0xC0A80101/ ведуть на 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».

Коротко про IPv6

Конвертер працює лише з IPv4. IPv6 — це 128 біт, вісім груп по чотири HEX-цифри. Нулі на початку групи опускаються, а одна серія нульових груп згортається в ::: 2001:0db8:0000:0000:0000:0000:0000:0001 → 2001:db8::1. IPv4 усередині IPv6 записують як ::ffff:10.0.0.5 або в HEX — ::ffff:a00:5. Такий запис ви побачите в логах серверів, що слухають IPv4 і IPv6 на одному сокеті: перш ніж конвертувати адресу, приберіть префікс ::ffff:.

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