Every CIDR calculation, VLSM plan, and cloud-aware subnet you need — with binary visualization, Terraform export, and a built-in learning center. No signup. Free forever.
109 micro-lessons covering CIDR, VLSM, IPv6, cloud, and Kubernetes networking — short, focused, no fluff.
Start learning →Random subnet challenges with full explanations. Tracks your streak in your browser.
Try the quiz →Every prefix length with its mask, wildcard, total addresses, and usable hosts — sortable.
Open reference →A one-page PDF you can pin to the wall during exams or use on the job. Free download.
Download PDF →Open the calculator and start planning. No signup, no email, no upsells. Just the tool you came for.
Also on the site: the bandwidth calculator (Mbps ↔ MB/s, transfer time, BDP) and the routing table simulator for testing longest-prefix-match behaviour.
A subnet mask calculator takes an IP address and a CIDR prefix (or subnet mask) and returns the network address, broadcast, first and last usable hosts, host count, and wildcard mask. subnetmaskcalc.net adds binary visualization, AWS / Azure / GCP / OCI reserved-IP awareness, VLSM planning, and Terraform / Cisco export — all running in your browser.
Yes, every tool on subnetmaskcalc.net is free with no signup. The site is funded by banner ads and Google Analytics. Your calculator inputs (IPs, CIDRs, network designs) never leave your browser — calculations run client-side in JavaScript.
Yes. The calculator handles both IPv4 and IPv6, with IPv6-specific features like /64 SLAAC compatibility checks, full-form expansion, and prefix arithmetic. See the IPv6 crash course in our blog for a refresher.
Yes. Switch the calculator to AWS, Azure, GCP, or OCI mode and it applies that provider's reserved-IP math automatically — AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, OCI reserves 3. A /28 in AWS gives 11 usable hosts, not the textbook 14.
Yes. The IaC Export tool converts subnet plans into Terraform, CloudFormation, Pulumi, Cisco IOS, and JunOS configurations. Plan visually, then copy the generated config into your repository.