CIDR / Subnet Calculator Online
IPv4 / IPv6 subnet calculator: network, broadcast, netmask, host range and count; check if IPs are inside, split subnets, merge lists, range to CIDR.
Result
Press “Run” to see the result.
Give a network as cidr (192.168.1.0/24, 10.0.0.1/255.255.255.0, 2001:db8::/48) and get the network and broadcast address, netmask and wildcard mask, first / last address and usable host range, total addresses and usable hosts (RFC 3021 /31 and /32 handled), binary mask, class, address type (private, CGNAT, documentation, multicast…), the reverse DNS zone and the previous / next networks of the same size. IPv6 addresses are shown compressed and expanded, with the number of /64 subnets.
Other actions (chosen from the parameters, or with action): contains checks whether one or many ip (addresses or CIDRs) are inside the network; split cuts it into subnets by new prefix, number of subnets or hosts per subnet (up to 4096 listed); range turns first-last into the smallest list of CIDR blocks; merge takes a list of CIDRs, addresses and ranges (up to 10,000), merges overlapping and adjacent blocks into the minimal set and reports duplicates and overlaps.
Pure calculation with 128-bit integers: no lookup, nothing stored. For the owner and location of an address use /v1/ip, for cloud and Tor ranges /v1/ip-intel.
Use this in your code
curl "https://apibox.io.vn/v1/cidr?cidr=192.168.10.0/26" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/cidr?cidr=192.168.10.0/26', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/cidr?cidr=192.168.10.0/26",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/cidr?cidr=192.168.10.0/26');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));API documentation → Get a free API key
FAQ
How are /31 and /32 handled?
A /31 has two usable addresses (RFC 3021, point-to-point links) and no broadcast; a /32 is a single host.
What if the address has host bits set?
The network is computed from it (192.168.1.130/26 → 192.168.1.128/26) and the input address is shown with a note.
Is IPv6 supported everywhere?
Yes: info, contains, split, range and merge all work with IPv6, and lists can mix IPv4 and IPv6.