Random IP Address Generator

Generate up to 100 random IPv4 or IPv6 addresses for testing forms, logs, firewall rules and sample data, with common private ranges skipped on request. It is free, instant and creates the addresses in your browser.

Random IP Address GeneratorPrivate · runs on your device
Your IP address will appear here

How to use the random IP address generator

Choose a version, a quantity and whether to stay in public space.

  1. Pick Version: IPv4 for dotted addresses or IPv6 for colon separated hexadecimal ones.
  2. Set How many, from 1 to 100.
  3. Leave Public ranges only ticked, as it is by default, to avoid the common private and special blocks. Untick it to allow private ranges to appear.
  4. Click Generate IP address. The addresses are listed one per line in a monospace face.
  5. Copy or download the list for your test script, log or spreadsheet.

The tool does not look anything up. Its own note says the addresses are random test values, not assigned to any real device, although a public-looking address may belong to a real network somewhere.

The list is not sorted and is not checked for duplicates. With IPv6 a repeat is practically impossible, and with IPv4 it is unlikely in a short list. Use Copy, or Download to save a .txt file with one address per line, which most test tools and spreadsheets accept directly.

What the addresses look like, and which ranges are skipped

An IPv4 address here has a first number from 1 to 223, a middle pair from 0 to 255 and a last number from 1 to 254, so it never starts with 0, never lands in the multicast and reserved space from 224 upwards, and never ends in .0 or .255. A typical result is 37.58.201.4. With Public ranges only on, these blocks are also skipped: 10.0.0.0/8, 127.0.0.0/8 (loopback), 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16 (link-local) and 100.64.0.0/10 (carrier-grade NAT). The documentation blocks 192.0.2.0/24, 198.51.100.0/24 and 203.0.113.0/24 are not excluded, so they can appear, though rarely.

An IPv6 address is eight groups of one to four lowercase hexadecimal digits, for example 2a0f:5c12:9:b81:77:e1:4d0a:3c. Leading zeros are dropped, but runs of zero groups are not compressed with a double colon, so test compressed notation separately. With Public ranges only on, the first group falls between 2000 and 3fff, the global unicast block. With it off, the first group can be anything, so reserved, link-local and multicast forms can appear.

For scale, IPv4 is a 32-bit address, and the pattern used here allows roughly 3.7 billion different values before the public filter removes some. The slash in a block such as 192.168.0.0/16 says how many leading bits are fixed, so a /16 fixes the first two numbers and a /8 fixes only the first. IPv6 uses 128 bits, which is why it is written in hexadecimal.

Each IPv4 number is one byte, so an address can also be written in hexadecimal or binary. The example 37.58.201.4 is 25.3A.C9.04 in hex, or 0x253AC904 as a single 32-bit value, which is how some databases and logs store it. Paste each number into the number base converter to check the conversion. Remember too that an address in a log is not a person: shared networks, mobile carriers and VPNs mean many users can appear behind one address.

Testing uses and cautions

Realistic but meaningless addresses are what testers usually need.

  • Validation: check that an IP field and its pattern accept both families. The regex tester is useful for that.
  • Rules and limits: exercise block lists, rate limiting and geographic rules with many distinct clients.
  • Sample data: fill demo logs, dashboards and database rows.
  • Headers: simulate different X-Forwarded-For values in integration tests.
  • Teaching: give students addresses to classify or convert, using the number base converter to see the binary form.

Do not add generated addresses to allow lists, firewall exceptions or DNS records on a live system, because a random address could belong to anyone. In documentation, use the reserved example blocks named above instead. Generating an address does not change the one your provider gives you; to see your own, use the IP address checker. For other test identifiers, try the UUID generator. Nothing is uploaded.

Quick answers

Frequently asked questions

The questions people ask most, answered in plain words.

Are the generated IP addresses real?

They are random numbers formatted as valid IPv4 or IPv6 addresses. The tool performs no lookups and cannot tell you who uses an address. Some results may coincide with addresses in real use, which is why they should stay in test data and never in live network settings.

Which ranges does Public ranges only skip?

For IPv4 it skips the private, loopback, link-local and carrier-grade NAT blocks: 10.0.0.0/8, 127.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16 and 100.64.0.0/10. In either mode the tool never produces a first number of 0 or 224 and above. Documentation ranges such as 203.0.113.0/24 are not removed.

Does the generator support IPv6?

Yes. Choose IPv6 under Version and you get eight groups of hexadecimal digits separated by colons. Zero groups are written out rather than compressed with a double colon, so check your parser also accepts the compressed form. With public ranges on, the first group stays between 2000 and 3fff.

Can I use a generated IP address to hide my location?

No. Generating an address does not change the one your internet provider assigns, and typing a random address into your network settings would simply break your connection. The tool exists to create test data, not to give you privacy or a different location.

Is it safe to use these addresses in test data?

Yes, inside test environments, sample logs and documentation. Do not put them in production allow lists, firewall exceptions or DNS records, because a random address may belong to someone else. For published examples, the reserved documentation blocks are the usual choice.