About ip addresses
The dotted quad was pinned down in September 1981, when RFC 791 — the Internet Protocol specification for the DARPA Internet Program, edited by Jon Postel — fixed the address at 32 bits and split it three ways. In what it called class A the high-order bit is zero, the next 7 bits are the network and the last 24 the host; class B opens with one-zero, then 14 bits of network and 16 of host; class C opens with one-one-zero, then 21 bits of network and 8 of host. The scheme was tidy and, as it turned out, badly proportioned: a class A holder received more than sixteen million addresses whether or not it could use them, while a class C offered 254.
Classful allocation therefore wasted space, and by the early 1990s the routing tables and the free pool were both growing faster than anyone was comfortable with. Classless Inter-Domain Routing, published as RFC 1519 in September 1993, replaced the fixed boundaries with an explicit prefix length. RFC 1918 followed in February 1996, setting aside 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16 for networks that would never appear in the global routing table; network address translation then turned those blocks into the default shape of a home or office network. The last two unreserved IANA /8 blocks went to APNIC on 31 January 2011, and the depletion of the free pool was announced that 3 February — two dates frequently collapsed into one. APNIC began rationing its own final /8 on 15 April 2011, the RIPE NCC depleted its pool on 14 September 2012, and ARIN on 24 September 2015.
The documentation ranges exist because of a specific, recurring embarrassment: examples used whatever address came to hand, readers copied them into working configurations, and whoever owned the address received the traffic. RFC 3330 had already listed 192.0.2.0/24 as TEST-NET; Jari Arkko, Michelle Cotton and Leo Vegoda formalised the practice in RFC 5737 in January 2010, adding 198.51.100.0/24 and 203.0.113.0/24 so that one document could show three distinct networks. Geoff Huston, Anne Lord and Philip Smith had done the same job for IPv6 six years earlier, reserving 2001:db8::/32 in RFC 3849.
Key properties
- RFC 5737 reserves three IPv4 blocks for documentation — 192.0.2.0/24, 198.51.100.0/24 and 203.0.113.0/24 — and asks that they not be routed on the public internet.
- A /24 holds 256 addresses of which 254 are usable hosts, the lowest being the network address and the highest the broadcast address, so the three documentation blocks offer 762 distinct host addresses in total.
- RFC 3849 reserves 2001:db8::/32 for documentation only; private IPv6 addressing uses the unique local block fc00::/7 defined by RFC 4193, of which only the fd00::/8 half is defined for local assignment.
- RFC 1918 reserves 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16 — 17,891,328 addresses in total — for private networks.
- IPv4 has 2^32 = 4,294,967,296 addresses; IPv6 has 2^128, which is why an IPv6 address cannot be held exactly in a JavaScript number and this page builds one from 16-bit groups, using arbitrary-precision integers for the decimal form.
- RFC 5952 defines a single canonical text form for IPv6: lowercase hex, no leading zeros within a group, and :: replacing the longest run of all-zero groups — the leftmost run when two are equally long, and never a run of only one group.
- An IPv6 link-local address is fe80::/10 by definition, but RFC 4291 requires the following 54 bits to be zero, so in practice such an address is fe80:: followed by a 64-bit interface identifier.
- RFC 6335 designates 49152–65535 as the dynamic or private port range, which is where operating systems draw ephemeral source ports from.
Where they turn up
- Standards documents, vendor manuals and certification courseware all draw their example addresses from 192.0.2.0/24 and 2001:db8::/32 — if an example address does not come from one of the reserved ranges, it probably belongs to somebody.
- Firewall rule tests and ACL fixtures need addresses that match nothing real; alongside the documentation blocks, 198.18.0.0/15 is assigned for network-equipment benchmarking under RFC 2544 for the same reason.
- An address in 169.254.0.0/16 is the standard symptom of a failed DHCP lease: under RFC 3927 the host assigns one to itself, which is why "limited connectivity" diagnosis usually starts by looking for a 169.254 address.
- Carrier-grade NAT places subscribers behind 100.64.0.0/10, reserved by RFC 6598, so seeing an address from that block on a home router means the ISP is sharing one public address among many customers.
- An IP address is treated as personal data in the European Union and protected by the GDPR, and in March 2024 the Supreme Court of Canada held that police need a warrant to obtain one — which is part of why published logs and shared fixtures are usually rewritten into the documentation ranges rather than anonymised by hand.
- Load generators and mock services that need thousands of distinct client addresses draw them from private or documentation space so that a misconfigured run cannot reach a stranger’s server.
How to use this generator
The generated values appear at the top, with a copy button beside them. To turn them into an image, pick a look from the style presets under Make an image, choose an export size, and download as PNG, JPEG or WebP. Everything is rendered in your browser, so nothing you generate is sent to a server.
The address bar updates as you work, so the link always reproduces exactly what you see — handy for sharing a specific sequence or saving a configuration for later. Use Copy to take the values as plain text, or Export data for CSV, JSON, NDJSON, SQL or XML.
Sources
- RFC 5737 — IPv4 Address Blocks Reserved for Documentation — IETF Trust (BCP 78) — redistribution permitted
- RFC 3849 — IPv6 Address Prefix Reserved for Documentation — IETF Trust (BCP 78) — redistribution permitted
- RFC 1918 — Address Allocation for Private Internets — IETF Trust (BCP 78) — redistribution permitted
- RFC 791 — Internet Protocol (DARPA Internet Program specification) — IETF Trust (BCP 78) — redistribution permitted
- IPv4 address exhaustion — Wikipedia — CC BY-SA 4.0
Historical summaries on this page draw on the openly licensed references listed above. Spotted an error? Tell us and we will fix it.