Skip to main content
Back to Dev generators

Dev

Random IP Address Generator

Used by developers, writers, and creators worldwide.

A random IP address generator is a practical shortcut for backend developers, network engineers, and security testers who need realistic address data without touching live systems. Use it to seed fake access logs, validate IP filtering logic, or feed geolocation APIs with diverse public addresses. The generator produces IPv4 addresses in dot-decimal notation (203.0.113.47) and IPv6 in colon-separated hex (2001:db8::ff00:42:8329), so output matches your stack's actual protocol. Toggle public-only mode to strip private ranges like 10.x.x.x and 192.168.x.x that break geolocation lookups. Need dual-stack coverage? Switch the version selector to 'both' and get a mixed batch in one copy-paste. Generate up to 50 addresses per run — enough to populate a seed file or fixture set without multiple trips.

Loading usage…

Free forever — no account required

How to use

  1. Choose your options above
  2. Click Generate
  3. Copy your result

Detailed instructions

  1. Set the count field to how many IP addresses you need, between 1 and 50.
  2. Choose IPv4 for standard dot-decimal addresses or IPv6 for hexadecimal colon-notation addresses.
  3. Set 'Public IPs only' to Yes if your test involves geolocation lookups or internet traffic simulation.
  4. Click Generate to produce the address list, then copy the output directly into your script, log file, or test fixture.

Use Cases

  • Seeding a PostgreSQL access_logs table with realistic public IPv4 addresses for staging
  • Unit testing CIDR range matching functions in Jest with a varied set of 20+ addresses
  • Feeding a geolocation API in Postman to verify country, region, and ISP fields parse correctly
  • Generating dual-stack IPv4 and IPv6 addresses to test nginx dual-stack virtual host configs
  • Populating rate-limiting middleware fixtures with 50 unique public IPs to catch per-IP throttle bugs

Tips

  • For geolocation API tests, always use public IPs only — private ranges return null from most providers and will skew your results.
  • When testing dual-stack applications, run two separate batches (one IPv4, one IPv6) and interleave them to simulate realistic mixed traffic.
  • Paste a batch of 50 IPs into a spreadsheet with a VLOOKUP against known IANA reserved ranges to quickly spot any edge-case addresses before using them.
  • For rate-limiting tests, generate IPs in batches of 10–20 and use them as X-Forwarded-For header values — most rate limiters key off this header.
  • If you need reproducible test data across your team, generate once, commit the list to your repo as a fixture file, and reference it in all related tests.
  • IPv6 addresses work well for testing input sanitization — many older regex validators fail on the colon notation, making them valuable for security QA.

FAQ

how to generate random ip addresses for testing in bulk

Set the count to up to 50, choose your IP version (IPv4, IPv6, or both), and enable public-only mode to exclude private ranges. Copy the output directly into a seed script, fixture file, or Postman environment variable list. For datasets larger than 50, run multiple batches and concatenate the results — each batch is independently randomized, so collisions are statistically rare.

why exclude private ip ranges in test data

Private ranges like 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 are non-routable on the public internet. Geolocation APIs return null or errors for them, and firewall tests targeting external traffic won't reflect real conditions. Keeping public-only mode on ensures your test addresses behave like actual internet traffic.

what is the difference between ipv4 and ipv6 addresses

IPv4 uses 32-bit addresses written as four decimal octets — roughly 4.3 billion possible values. IPv6 uses 128-bit addresses in hexadecimal colon notation, providing a practically unlimited pool. If your application handles both protocols, use the 'both' option to make sure your parsing and filtering code handles each format without breaking.