Конвертер IPv4 в IPv6

Введите адрес IPv4 и увидите все адреса IPv6, которые его содержат, от отображённой формы в ваших журналах до NAT64 и 6to4, в записи RFC 5952 и полностью, каждый с пометкой «используется», «сегодня редкость» или «устарел».

Схемы RFC 4291, 6052, 8215 и 3056 · запись по RFC 5952 · работает в вашем браузере

Прочитано как запись с точками

Адреса IPv6, которые содержат 192.0.2.33
Адрес для документации (RFC 5737)Десятичное число 3221226017Шестнадцатеричное 0xC0000221
Отображённый IPv4 ИспользуетсяСокеты, журналы и базы данных · RFC 4291
NAT64, общеизвестный префикс ИспользуетсяДоступ к IPv4 из сетей только с IPv6 · RFC 6052Адрес из примеров: для реального использования нужен глобальный IPv4
Префикс NAT64 вашей сети ИспользуетсяПрефикс и длина, как их объявляет сеть · RFC 6052
Добавить префикс NAT64 сети
NAT64, блок для локального использования Используетсяпоказан /96; длину выбирает сеть · RFC 8215
6to4 Сегодня редкость/48 площадки · RFC 3056Адрес из примеров: для реального использования нужен глобальный IPv4
ISATAP Сегодня редкостьв fe80::/64 (подходит любая /64) · RFC 5214
IPv4-транслированный Сегодня редкостьСтарая трансляция без сохранения состояния (SIIT) · RFC 2765
IPv4-совместимый УстарелНи для чего: выведен из употребления · RFC 4291
Примеры

С точками, одним числом (3221225985), в hex или как URL. Преобразование идёт в вашем браузере, ничего не отправляется.

Как перевести IPv4 в IPv6?

Запишите 32 бита адреса IPv4 как две hex-группы и поставьте их туда, где их хранит формат IPv6: для обычной отображённой формы это место после ::ffff:, так что 192.0.2.33 становится ::ffff:c000:221, или в записи с точками ::ffff:192.0.2.33.

Каждая десятичная часть становится двумя hex-цифрами (192 = c0, 0 = 00, 2 = 02, 33 = 21), а четыре пары образуют две 16-битные группы. RFC 5952 рекомендует сохранять запись с точками после ::ffff:, потому что она показывает, что означают эти биты.

Это меняет только запись адреса. Устройство не получает ни адреса IPv6, ни подключения по IPv6: их даёт сеть.

1Каждая часть в hex192c00002023321
2Две 16-битные группыc000 : 221c0 00 → c000 · 02 21 → 0221 → 221
3После префикса::ffff:192.0.2.33= ::ffff:c000:221
192.0.2.33 в отображённую форму IPv4, шаг за шагом.
Конвертер IPv4 в IPv6 показывает все формы IPv6 для 192.0.2.33 и куда идут его 32 битаКонвертер IPv4 в IPv6 показывает все формы IPv6 для 192.0.2.33 и куда идут его 32 битаВаш IPv4 в hex192.0.2.33 — это c0 00 02 21: 8 цифр, которые несёт каждая форма IPv6.Куда идут битыТе же 8 цифр переходят в биты 96–127 у отображённого адреса и NAT64 и в биты 16–47 у 6to4.Используется ли ещё?Используется, сегодня редкость или устарел — по RFC и данным о трафике.Префикс вашей сетиВведите префикс NAT64 и длину, чтобы получить адрес, который использует ваш транслятор.Сжатая или полнаяЗапись RFC 5952, под ней другое написание, а одним переключателем — все 32 цифры.
Один адрес IPv4 во всех форматах IPv6: куда попадают его 32 бита и используется ли формат до сих пор.

Какую форму IPv6 использовать?

В программах (сокеты, журналы, базы данных) используйте отображённую форму, а в сети только с IPv6 — префикс NAT64 вашей сети; остальные формы сегодня редки или выведены из употребления.

Отображённые адреса никогда не передаются по сети. Адреса NAT64 передаются, и общеизвестный префикс 64:ff9b::/96 может содержать только глобальные адреса IPv4 (RFC 6052). Для 6to4 тоже нужен публичный адрес IPv4.

IPv4-совместимые адреса устарели, а префикс IPv4-транслированных адресов SIIT уступил место префиксам RFC 6052.

ФорматДля чегоСтатус192.0.2.33 становится
Отображённый IPv4RFC 4291Сокеты, журналы и базы данныхИспользуется::ffff:192.0.2.33
NAT64, общеизвестный префиксRFC 6052Доступ к IPv4 из сетей только с IPv6Используется64:ff9b::c000:221
NAT64, блок для локального использованияRFC 8215Собственный NAT64 сети внутри 64:ff9b:1::/48Используется64:ff9b:1::c000:221
6to4RFC 3056Автоматические туннели, сейчас редкостьСегодня редкость2002:c000:221::/48
ISATAPRFC 5214Туннели внутри одной площадки, сейчас редкостьСегодня редкостьfe80::5efe:c000:221
IPv4-транслированныйRFC 2765Старая трансляция без сохранения состояния (SIIT)Сегодня редкость::ffff:0:192.0.2.33
IPv4-совместимыйRFC 4291Ни для чего: выведен из употребленияУстарел::c000:221
Все стандартные формы IPv6 одного адреса IPv4: для чего каждая нужна и используется ли она ещё.

Что такое отображённый адрес IPv4 (IPv4-mapped)?

Это адрес IPv4, записанный как адрес IPv6: 80 нулевых бит, 16 единичных, затем 32-битный адрес IPv4 (::ffff:0:0/96), чтобы программа с одним сокетом IPv6 могла работать и с собеседниками по IPv4.

Отображённые адреса существуют только внутри программ; IANA помечает этот блок как непересылаемый. У этого есть сторона, связанная с безопасностью: пакет от ::ffff:127.0.0.1 может пройти проверки, рассчитанные на сам компьютер, поэтому фильтры должны сначала извлекать из адреса IPv4, а уже потом сравнивать (RFC 4942).

Базы данных их распознают: IS_IPV4_MAPPED() в MySQL принимает конец адреса с точками или в hex, а PostgreSQL выводит их в смешанной записи.

80 нулевых бит0000:0000:0000:0000:000016 единичных битffffадрес IPv4, 32 бита192.0.2.33
внутри программ accept() → ::ffff:192.0.2.33
в сети не передаётся IANA: не пересылается
128 бит ::ffff:192.0.2.33 в масштабе и где эта форма существует.

Как проходит переход с IPv4 на IPv6?

Сети запускают оба протокола параллельно (двойной стек), а сети только с IPv6 выходят в интернет IPv4 через трансляцию: NAT64 с DNS64 или 464XLAT на телефонах.

При NAT64 DNS64 строит AAAA-запись из A-записи хоста, а транслятор передаёт трафик в IPv4. При 464XLAT транслятор на телефоне (CLAT) превращает пакеты IPv4 приложения в IPv6, а NAT64 провайдера (PLAT) превращает их обратно в IPv4 на общих публичных адресах.

Переход пройден примерно наполовину: 22 октября 2026 года 47,13% пользователей заходили в Google по IPv6 (Google), а APNIC Labs насчитала в мире 43,8% пользователей с поддержкой IPv6.

Три способа, которыми IPv6 и IPv4 встречаются сегодня, и насколько продвинулось внедрение (22 октября 2026).

Могут ли IPv4 и IPv6 связываться друг с другом?

Напрямую — нет: хосту только с IPv6 и хосту только с IPv4 нужен транслятор между ними, например NAT64 для клиентов IPv6, обращающихся к серверам IPv4, а хосты с двойным стеком просто используют протокол, который есть у другой стороны.

У двух протоколов разные форматы пакетов, поэтому что-то должно переписывать каждый пакет. Трансляторы без сохранения состояния (SIIT, RFC 7915) сопоставляют адреса один к одному с помощью префиксов RFC 6052; NAT64 делит адреса IPv4 между множеством клиентов IPv6.

Поэтому большинство сетей держат оба протокола: устройству с двойным стеком трансляция вообще не нужна.

Клиент ↓ · Сервер →Только IPv4Только IPv6Двойной стек
Только IPv4IPv4транслятор (SIIT)IPv4
Только IPv6NAT64 + DNS64IPv6IPv6
Двойной стекIPv4IPv6любой
Кто с кем может связаться и что стоит между ними.

Как перевести IPv4 в IPv6 в коде?

В большинстве языков это делается одним вызовом: IPv4Address.ipv6_mapped в Python, netip в Go с Is4In6 и Unmap, INET6_ATON в MySQL с IS_IPV4_MAPPED и тип inet в PostgreSQL.

В Python 3.13 появилось ipv6_mapped, и отображённые адреса выводятся в записи с точками. Addr.String в Go выводит ::ffff:192.0.2.33, а Unmap возвращает обычный адрес IPv4. net.isIP() в Node возвращает 6 для отображённого адреса, а net.BlockList применяет к нему правила IPv4.

› import ipaddress
ipaddress.IPv4Address('192.0.2.33').ipv6_mapped
IPv6Address('::ffff:192.0.2.33')

Python 3.13+

› a := netip.MustParseAddr("::ffff:192.0.2.33")
fmt.Println(a.Is4In6(), a.Unmap())
true 192.0.2.33

Go net/netip

› SELECT IS_IPV4_MAPPED(INET6_ATON('::ffff:192.0.2.33'));
1

MySQL 8.4

› SELECT inet '::ffff:192.0.2.33';
::ffff:192.0.2.33

PostgreSQL 16

› net.isIP('::ffff:192.0.2.33')
6

Node.js net

Один и тот же отображённый адрес IPv4 в пяти языках и базах данных и что выводит каждый из них.

Частые вопросы

Как записать 192.168.1.1 в IPv6?

В виде отображённого адреса IPv4 это ::ffff:192.168.1.1, или ::ffff:c0a8:101, если записать последние 32 бита в hex. Эта форма живёт внутри программ и не даёт роутеру адрес IPv6. Поскольку 192.168.1.1 — частный адрес, его нельзя использовать с общеизвестным префиксом NAT64 64:ff9b::/96, а для префикса 6to4 нужен публичный адрес IPv4.

Получит ли моё устройство адрес IPv6, если перевести IPv4 в IPv6?

Нет. Запись адреса IPv4 в форме IPv6 меняет только то, как записаны те же 32 бита; подключения по IPv6 у устройства от этого не появляется. Адрес IPv6 даёт ваша сеть: роутер или провайдер выдаёт префикс, и устройство строит из него свой адрес. «Проверка IPv6» покажет, работает ли IPv6 на вашем подключении.

Какую форму IPv6 хранить в базе данных?

Храните адреса в двоичном виде, а не текстом. INET6_ATON в MySQL возвращает 16 байт для IPv6 и 4 для IPv4, а IS_IPV4_MAPPED показывает, какие значения IPv6 — отображённые адреса IPv4. Если в одном столбце нужно хранить оба семейства по 16 байт, стандартный способ записать IPv4 как IPv6 — отображённая форма ::ffff:a.b.c.d. Тип inet в PostgreSQL хранит любое семейство напрямую.

::ffff:192.0.2.1 и ::ffff:c000:201 — один и тот же адрес?

Да. Оба записывают одни и те же 128 бит: первый — последние 32 бита как адрес IPv4 с точками, второй — как две hex-группы. RFC 5952 рекомендует запись с точками для отображённых адресов IPv4, а браузеры выводят в URL форму в hex. Сравнивайте адреса как числа, а не как текст, чтобы такие варианты записи совпадали.

Почему 64:ff9b::10.1.1.1 недопустим?

Потому что общеизвестный префикс NAT64 может содержать только глобальные адреса IPv4. По RFC 6052 адрес вроде 64:ff9b::10.1.1.1, в который встроен частный адрес IPv4, недопустим, и трансляторы обязаны отбрасывать пакеты на него. Конвертер помечает строку NAT64, когда вы вводите частный или другой неглобальный адрес IPv4, а также строку 6to4, потому что 6to4 нужен публичный адрес.

Какой адрес 6to4 у адреса IPv4?

Это префикс /48 из 2002: и адреса IPv4 в hex: 192.0.2.33 даёт 2002:c000:221::/48, а площадка нумеровала внутри него свои подсети и хосты. Для 6to4 нужен публичный адрес IPv4, поэтому у частных адресов нет допустимого префикса 6to4. RFC 7526 вывел из употребления публичные ретрансляторы, на которых работал 6to4, и сегодня этот формат встречается редко.

Сколько людей пользуются IPv6?

Почти половина. 22 октября 2026 года 47,13% пользователей заходили в Google по IPv6, а APNIC Labs за 30 дней до 21 октября 2026 года насчитала в мире 43,8% пользователей с поддержкой IPv6, причём 40,9% предпочитали IPv6. Остальные по-прежнему используют только IPv4, поэтому сети держат оба протокола параллельно или транслируют между ними.

Как телефоны только с IPv6 открывают сайты на IPv4?

Через 464XLAT. Транслятор на телефоне, CLAT, без сохранения состояния превращает пакеты IPv4 приложения в IPv6, а NAT64 провайдера, PLAT, превращает их обратно в IPv4 на общих публичных адресах. Для имён DNS64 строит AAAA-записи из A-записей, поэтому встречаются адреса вроде 64:ff9b::c000:221. Телефон узнаёт префикс своей сети, запрашивая ipv4only.arpa.

Как перевести IPv4 в IPv6 в Python?

В Python 3.13 и новее ipaddress.IPv4Address('192.0.2.33').ipv6_mapped возвращает IPv6Address('::ffff:192.0.2.33'). В старых версиях создайте адрес из текста: ipaddress.IPv6Address('::ffff:192.0.2.33'). Python выводит отображённые адреса с точками начиная с версий 3.13 и 3.12.11; более старые выпуски выводят ::ffff:c000:221. Оба написания — один и тот же адрес, поэтому сравнивайте объекты, а не строки.

Отправляется ли то, что я ввожу, на ваш сервер?

Нет. Каждая форма на этой странице вычисляется в вашем браузере, поэтому результаты появляются прямо во время ввода. Скопированная ссылка содержит адрес и введённый префикс NAT64 после # в URL, а эту часть браузеры никогда не отправляют на сервер, так что тот, кто её откроет, увидит то же преобразование. Только если скрипт страницы не загрузится, кнопка «Конвертировать» отправит обычный запрос страницы.

Чего-то не хватает?Предложите функцию или новый инструмент