Konwerter adresów IP
Każda reprezentacja adresu obok siebie, w trakcie pisania
About IP address representations
An IPv4 address is not really four numbers with dots between them — it is a single unsigned 32-bit integer. An IPv6 address is a single unsigned 128-bit integer. The dotted quad and the colon-separated hextets are just human-friendly spellings of that one number. Because it is only a number, it can be written in any base you like, and every one of those spellings is a perfectly valid way of naming the same host.
That matters more than it sounds. Software that parses addresses does not always agree on which spellings to accept, and attackers exploit exactly that disagreement. A filter that blocks 127.0.0.1 with a string comparison will happily let2130706433, 0x7f000001 or 017700000001 through to a library that resolves all four to the same loopback address.
Where you meet each notation in the wild
- Dotted decimal (
192.168.1.1) — the everyday form. Each of the four octets covers 8 bits, hence the 0–255 range. - Decimal integer (
3232235777) — how the address is stored in a database column or a packet-capture index, and the classic trick in obfuscated URLs.http://3232235777/is a working link in most browsers, which is why it turns up in phishing mail and malware droppers. - Hexadecimal (
0xC0A80101) — what you read in packet dumps, kernel logs,tcpdump -xoutput, router debug output and the raw bytes of an IP header. Hex maps neatly onto bytes: two hex digits per octet. - Octal (
0300.0250.0001.0001or0o30052000401) — a legacy of the classicinet_aton()parser, which reads any octet with a leading zero as base 8. It is the reason a leading zero in an address is a genuine security hazard:010.1.1.1is 8.1.1.1 to some parsers and 10.1.1.1 to others. This tool refuses ambiguous leading zeros and tells you so. - Binary (
11000000.10101000.00000001.00000001) — the form you actually need when working out subnet masks, prefix lengths and wildcard masks by hand, because the boundary between network and host is a bit boundary. - IPv6 hextets (
2001:db8::1) — eight groups of 16 bits in hex. The::stands for one or more all-zero groups and may appear only once, otherwise the expansion would be ambiguous. RFC 5952 settled the canonical spelling: lower case, no leading zeros inside a group, and::applied to the longest run of zeros (leftmost if there is a tie).
IPv4 inside IPv6
Dual-stack systems need a way to talk about an IPv4 address in an IPv6 data structure. The IPv4-mapped form ::ffff:192.168.1.1 (the ::ffff:0:0/96prefix) does exactly that: it is what a Linux socket bound to :: reports as the peer address when an IPv4 client connects, and it is why access logs sometimes show::ffff: in front of a familiar address. The older IPv4-compatible form::192.168.1.1 was deprecated by RFC 4291 and should not be used for anything new. Because IPv6 integers exceed the 2⁵³ limit of a JavaScript number, this tool does all 128-bit arithmetic with BigInt.
What the special ranges are reserved for
- 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 — private use (RFC 1918). Never routed on the public internet; this is what sits behind your NAT.
- 127.0.0.0/8 — loopback. The whole /8 is yours, not just 127.0.0.1; packets never leave the host.
- 169.254.0.0/16 — link-local (APIPA). Self-assigned when DHCP fails, so seeing one usually means a broken DHCP server.
- 100.64.0.0/10 — carrier-grade NAT (RFC 6598). Shared address space for ISPs that have run out of IPv4 and NAT their subscribers. Also used by Tailscale.
- 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24, 2001:db8::/32 — documentation (RFC 5737, RFC 3849). Safe to put in books, tutorials and test fixtures because nobody may route them.
- 224.0.0.0/4 and ff00::/8 — multicast: one packet delivered to many subscribers. OSPF, mDNS/Bonjour and IPTV all live here.
- 255.255.255.255 — limited broadcast, delivered to every host on the local link and never forwarded by a router. A directed broadcast (such as 192.168.1.255) depends on the subnet mask, so it cannot be identified from the address alone.
- 240.0.0.0/4 — reserved, the old “class E”. Periodically proposed for reuse, still unusable in practice because too much equipment rejects it.
- fc00::/7 — IPv6 unique local addresses, the rough equivalent of RFC 1918. In practice only
fd00::/8is used, with 40 random bits so two networks can merge without colliding. - fe80::/10 — IPv6 link-local. Every IPv6 interface has one, and neighbour discovery and routing protocols depend on it.
A word on the legacy classes
Class A, B, C, D and E were the original 1981 scheme, in which the first few bits of the address fixed the network/host split at 8, 16 or 24 bits. It was abolished in 1993 by CIDR (RFC 1518 and RFC 1519) because it wasted enormous numbers of addresses — an organisation needing 300 hosts had to be handed a class B with 65,534 of them. The class is shown below purely as a historical note. On any modern network the split is set by an explicit prefix length, so ask for the subnet mask, never the class.
Privacy
Every conversion here runs locally in your browser. Nothing you type is sent to a server, logged, or looked up anywhere.