About Random IP Address Generator
This random IP address generator produces between 1 and 100 addresses per press, in IPv4 dotted form such as 102.78.169.158 or in full eight-group IPv6 form. The Address range setting decides where they come from. Public-looking skips the IPv4 blocks that are obviously private or loopback, so the output resembles addresses seen on the internet. Private stays inside the RFC 1918 blocks 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16, or inside the fd00::/8 unique local range for IPv6. The addresses are made up for testing parsers, filling sample logs and seeding databases. They are not looked up anywhere, so a public-looking one may belong to a real network.
Sample output for each setting
Real addresses from the tool. A new set is produced on every press of Generate.
IPv4, public-looking
IP version IPv4, How many 5, Address range Public-looking (any range)
102.78.169.158, 34.56.174.204, 66.10.17.158, 87.29.45.85, 91.235.144.1
IPv4, private
IP version IPv4, How many 5, Address range Private (RFC 1918 / ULA)
172.20.169.158, 10.56.174.204, 10.10.17.158, 172.17.45.85, 172.30.144.1
Each address is taken from one of the three private blocks, chosen with equal probability.
IPv6, public-looking
IP version IPv6, How many 3, Address range Public-looking (any range)
7495:4ef9:a941:9e54:26fb:38ca:aecf:cd29, 4b20:0aec:110b:9e9c:6389:1d50:2df3:54c0, 681d:ebbd:90a7:0071:342e:46ae:c72e:f412
Leading zeros are kept in every group, as in 0aec and 0071.
IPv6, private (unique local)
IP version IPv6, How many 3, Address range Private (RFC 1918 / ULA)
fd4b:4ef9:a941:9e54:26fb:38ca:aecf:cd29, fdeb:110b:9e9c:6389:1d50:2df3:54c0:681d, fd47:0071:342e:46ae:c72e:f412:f134:c3e1
IPv4 ranges: which ones the generator uses and avoids
| Range | Purpose | Addresses | In this tool |
|---|---|---|---|
| 10.0.0.0/8 | Private network (RFC 1918) | 16,777,216 | Private mode only |
| 172.16.0.0/12 | Private network (RFC 1918) | 1,048,576 | Private mode only |
| 192.168.0.0/16 | Private network (RFC 1918) | 65,536 | Private mode only |
| 127.0.0.0/8 | Loopback (localhost) | 16,777,216 | Never generated |
| 169.254.0.0/16 | Link-local (automatic addressing) | 65,536 | Never generated |
| 0.0.0.0/8 | "This network" | 16,777,216 | Never generated |
| 224.0.0.0/4 | Multicast | 268,435,456 | Never generated |
| 240.0.0.0/4 | Reserved, includes broadcast 255.255.255.255 | 268,435,456 | Never generated |
| 192.0.2.0/24 | Documentation, TEST-NET-1 | 256 | Never generated |
| 100.64.0.0/10 | Carrier-grade NAT shared space | 4,194,304 | Can appear in Public-looking |
| 198.18.0.0/15 | Benchmark testing | 131,072 | Can appear in Public-looking |
| 198.51.100.0/24 and 203.0.113.0/24 | Documentation, TEST-NET-2 and 3 | 256 each | Can appear in Public-looking by chance |
Public-looking mode leaves out every address whose first number is 10, 127, 169, 172 or 192. That removes far more than the reserved blocks themselves: all of 169.x, 172.x and 192.x are skipped, not only 169.254.x, 172.16 to 172.31 and 192.168.x.
What "public-looking" means, and what it does not
For IPv4, a public-looking address has a first number from 1 to 223 that is not 10, 127, 169, 172 or 192, two middle numbers from 0 to 255, and a last number from 1 to 254. That keeps the output clear of private, loopback, link-local and multicast space and avoids endings of .0 and .255, which often denote a network or broadcast address. A few special-purpose blocks, such as 100.64.0.0/10, are not filtered.
For IPv6, public-looking simply means eight fully random groups. The tool does not restrict them to the global unicast block 2000::/3, which covers one eighth of the IPv6 space, so most results fall in unallocated space and a small share will start with prefixes that have special meanings, such as ff for multicast. That is useful when you want to see how a parser or validator copes with arbitrary input, and less useful if you need addresses that look like real global ones.
In neither case is there a lookup against registry data. Nothing here tells you who holds an address, where it is, or whether anything answers on it.
IPv6 prefixes worth recognising in test data
| Prefix | Meaning | In this tool |
|---|---|---|
| fd00::/8 | Unique local addresses (ULA), locally assigned, RFC 4193 | Every Private mode result |
| fc00::/7 | The whole unique local block, which contains fd00::/8 | Only the fd half is used |
| 2000::/3 | Global unicast, the addresses used on the public internet | About 1 in 8 Public-looking results |
| fe80::/10 | Link-local | Possible but rare in Public-looking |
| ff00::/8 | Multicast | About 1 in 256 Public-looking results |
| 2001:db8::/32 | Reserved for documentation, RFC 3849 | Not targeted |
| ::1 | Loopback | Not generated |
What developers and testers use random IPs for
- Validation and parsing tests: feeding a form, regex or library a mix of IPv4 and full-length IPv6 strings.
- Sample logs and screenshots: replacing real client addresses in web server logs, dashboards and bug reports before sharing them.
- Database seeding: filling an ip_address column in a staging or demo database with varied values.
- Firewall, rate-limit and allow-list logic: checking that rules treat private and public source addresses differently.
- Geolocation and analytics stubs: exercising code paths that take an address as input when the lookup itself is mocked.
- Training material: giving a lab exercise or network diagram believable internal addresses from the private ranges.
Limits of the generator
- No custom range. You cannot ask for addresses inside a particular subnet such as 192.168.1.0/24.
- No CIDR suffixes, subnet masks or port numbers are added.
- IPv6 output is always the full form. Compressed forms such as 2001:db8::1 are not produced, so add some by hand if your test needs them.
- Addresses in one batch are not checked against each other. Duplicates are very unlikely in public-looking and IPv6 output, and occasionally turn up in a large private IPv4 batch, because 192.168.x.x holds only 65,024 possible results.
- It does not change, hide or reveal your own IP address. It only prints text.
How to use it
- 1
Choose the IP version: IPv4 or IPv6.
- 2
Set How many to the number of addresses you want, from 1 to 100.
- 3
Choose the Address range: Public-looking (any range) or Private (RFC 1918 / ULA).
- 4
Press Generate. The list shows one address per line.
- 5
Copy the list, or download it as random-ips.txt.