Zero Signup ToolsFree browser tools

Developer Tools

Random IP Address Generator

Generate random IPv4 and IPv6 addresses in your browser. Pick public, private, loopback, link-local, CGNAT, or documentation ranges, and bulk export.

IP version

Address scope

1 to 1,000 per click.

Output format

Generated addresses

Pick a version, scope, and count, then click Generate to see random IP addresses here.

How to use

  1. Pick IP version: IPv4, IPv6, or a mix. The available scopes update for the chosen version.
  2. Pick a scope: Any, Public, Private, Loopback, Link-local, CGNAT, or Documentation. The page describes each one inline.
  3. Optional: tick Restrict to a CIDR and enter a network like 10.0.0.0/8 or 2001:db8::/32 to keep every result inside that subnet.
  4. Set how many addresses you need (1 to 1000) and choose whether duplicates are allowed.
  5. Pick an output format (Plain list, JSON array, CSV column, or SQL inserts), click Generate, then click Copy all to grab the entire list.

About this tool

Random IP Address Generator builds uniformly random IPv4 and IPv6 addresses for QA, fuzz testing, firewall rule samples, log parser fixtures, mock API responses, classroom demos, and any other place a developer needs plausible test IPs without hitting a real server. Pick a version (IPv4, IPv6, or a 50/50 mix) and a scope: Public restricts results to addresses routable on the open internet by excluding RFC 1918 private space, loopback (127/8, ::1), link-local (169.254/16, fe80::/10), CGNAT shared address space (100.64/10), multicast (224/4, ff00::/8), the discard prefix (100::/64), all three RFC 5737 documentation ranges (192.0.2/24, 198.51.100/24, 203.0.113/24), the RFC 3849 IPv6 documentation prefix 2001:db8::/32, and the reserved 240/4 block, so every result is something you might actually see on the public side of a router. Private returns hosts inside 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 for IPv4 and inside the Unique Local Address range fc00::/7 for IPv6. Loopback, Link-local, CGNAT, and Documentation each restrict the result to the specific reserved space those names imply, which is exactly what you want when an example needs to be guaranteed safe to publish, or a test needs to hit one well-known reserved range. The CIDR constraint is bidirectional: enter any IPv4 or IPv6 network like 10.0.0.0/8, 172.16.0.0/12, 192.168.1.0/24, fd00::/8, or 2001:db8:cafe::/48 and every result will fall inside that network, with the scope filter applied on top through rejection sampling. IPv6 output can be compressed (RFC 5952, the form people read on whiteboards) or fully expanded (the form most parsers and log lines emit), and any IPv6 result is decimally indistinguishable from one a real allocation could produce. Bulk mode generates 1 to 1000 addresses per click. Unique mode tracks every result in a set so the list never contains duplicates, with a soft warning when the chosen range cannot supply enough unique addresses. The output panel renders the results as a plain list, a JSON array (ready to paste into a test fixture or seed file), a CSV column (one header row plus one address per line for spreadsheets), or as SQL INSERT statements for a quick seed of an ips table. Every byte of randomness comes from crypto.getRandomValues with rejection sampling, the same cryptographic source that backs crypto.randomUUID, so every address inside the chosen range is equally likely even when the range size is not a power of two. The settings, results, and history stay in your browser; nothing is uploaded.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsDeveloper Tools