Ad slot — header (728x90)

The CIDR block conflicts with another subnet

Last reviewed: May 2026

If AWS returned this error, the fix is mechanical once you can see which existing range you collided with. This page shows how to find it and how to choose a range that will be accepted.

The exact error

The CIDR block conflicts with another subnet

What actually causes it

You asked AWS to create a subnet whose address range shares at least one IP with a subnet that already exists in the same VPC. AWS requires every subnet in a VPC to be disjoint — not merely different, but non-overlapping. A new 10.0.0.0/23 conflicts with an existing 10.0.1.0/24 because the /23 completely contains it.

Find the conflicting range

List what is already allocated before guessing at a new range:

aws ec2 describe-subnets \
  --filters "Name=vpc-id,Values=vpc-xxxxxxxx" \
  --query "Subnets[].{CIDR:CidrBlock,AZ:AvailabilityZone,Name:Tags[?Key=='Name']|[0].Value}" \
  --output table

Fix it, step by step

  1. List every existing subnet in the VPC with the CLI command above (or the VPC console subnet list).
  2. Paste that output straight into the bulk subnet calculator — it reads describe-subnets JSON and CSV directly and highlights every overlapping pair.
  3. Feed the VPC CIDR and the existing subnets into the free subnet finder and ask it where a block of the size you need actually fits.
  4. Create the subnet using a CIDR from the finder's list. Those blocks are aligned and disjoint by construction, so AWS will accept them.

A subtler variant: the error also fires when the new subnet is inside an existing one. Containment is a form of overlap. If you are trying to carve a smaller subnet out of a larger existing one, you must delete or re-range the larger subnet first — AWS will not let a subnet nest inside another.

Fastest pathPaste your existing ranges into the bulk subnet calculator — it accepts raw CLI JSON and CSV exports directly — then use the free subnet finder to get a list of ranges that are guaranteed not to conflict.
Find a range that will not conflict →

Preventing it next time

This error is almost always a symptom of address space that was never planned centrally. Allocating each environment a documented block from one supernet, and checking new ranges against that record before deployment, removes the whole class of failure. The Cloud VPC & VNet CIDR Planning Guide sets out that approach.

Frequently Asked Questions

Why does AWS say my CIDR block conflicts?

You asked AWS to create a subnet whose address range shares at least one IP with a subnet that already exists in the same VPC. AWS requires every subnet in a VPC to be disjoint — not merely different, but non-overlapping. A new 10.0.0.0/23 conflicts with an existing 10.0.1.0/24 because the /23 completely contains it.

Can two subnets have overlapping CIDR blocks?

Not within the same VPC or virtual network. Providers require subnets to be disjoint so routing is unambiguous. Overlap is also what blocks VPC peering, VNet peering and Transit Gateway attachments between networks.

How do I find which range is causing the conflict?

List every existing range in the network, then compare each one against the range you are trying to create. The bulk subnet calculator on this site accepts CLI JSON and CSV exports directly and reports every overlapping pair, which is faster and more reliable than comparing by eye.

Related Guides

Ad slot — footer (728x90)