Random IP Address Generator
Generate random IPv4 and IPv6 addresses for testing and development. Free online IP address generator, browser-based, no signup needed.
Generate Random IPv4 and IPv6 Addresses for Testing
Click Generate to get a random IPv4 address in dotted-decimal notation and a random IPv6 address in the standard colon-separated hexadecimal format. Both are syntactically valid addresses useful for populating test datasets, verifying IP address display logic in applications, and testing IP validation code.
IPv4: The Address Format You See Most Often
IPv4 (Internet Protocol version 4) is the address format that has been the foundation of the internet since its early days. An IPv4 address consists of four groups of 0–255 separated by periods: 192.168.1.47. Under the hood, this is a 32-bit binary number — four 8-bit octets — which is why each group ranges from 0 to 255 (the maximum 8-bit unsigned value).
The total IPv4 address space is 2³² = 4,294,967,296 addresses. Some ranges are reserved for special purposes: 10.x.x.x, 172.16–31.x.x, and 192.168.x.x are private address ranges for local networks, 127.x.x.x is the loopback range (127.0.0.1 is "localhost"), and 169.254.x.x is link-local. Our generator may produce addresses from any of these ranges — for most testing purposes this is fine, but if you need specifically public or private addresses, filter accordingly.
IPv6: The Successor Address Format
IPv4's 4.3 billion addresses proved insufficient as the internet expanded. IPv6 (Internet Protocol version 6) uses 128-bit addresses, providing 2¹²⁸ — approximately 3.4 × 10³⁸ — unique addresses, far more than could ever be needed.
An IPv6 address is written as eight groups of four hexadecimal digits separated by colons: 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Leading zeros within each group can be omitted, and consecutive groups of all zeros can be replaced with :: (once per address): 2001:db8:85a3::8a2e:370:7334. Both notations represent the same address.
IPv6 adoption has grown steadily as ISPs and content providers have deployed it, but IPv4 remains in heavy use through Network Address Translation (NAT), which allows many devices to share a single public IPv4 address. Both formats remain relevant for development and testing.
Development Use Cases for Random IP Addresses
Populating test databases. Applications that log, store, or process IP addresses — web analytics, access logs, rate limiting systems, geographic lookup features — need sample IP data that covers a range of values. A list of random IPs creates a more realistic test dataset than using the same address repeatedly or sequential addresses that don't resemble real-world distribution.
Testing IP address validation and parsing. Code that validates, parses, or formats IP addresses needs test cases covering valid addresses from across the range, not just a few manually chosen examples. Random IPs ensure validation logic handles arbitrary values rather than just the specific examples the developer thought to test.
Testing IP-based features. Rate limiting, geographic restriction logic, allow/deny list functionality, and IP reputation checks all need to be tested with varied IP inputs. Random addresses provide test inputs that cover a broader range of scenarios than a fixed test set.
Documentation and examples. Technical documentation, tutorials, and educational materials need example IP addresses that illustrate concepts without using real addresses that could be confused with actual network endpoints. IANA has reserved specific address ranges for documentation use (192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 for IPv4; 2001:db8::/32 for IPv6), but random addresses are also commonly used in informal contexts.
IP Address Notation Details
IPv4 addresses are straightforward — four decimal numbers separated by dots, each from 0 to 255. IPv6 notation has a few conventions worth knowing: the full format is 8 groups of 4 hex digits (32 hex characters total); leading zeros in each group can be dropped (0042 becomes 42); a consecutive sequence of all-zero groups can be replaced with :: but only once per address to avoid ambiguity. Our generator produces valid addresses in the standard notation for each format.