IP Subnet Calculator

Calculate network and host ranges, CIDR, subnet masks, wildcard masks, address capacity, and IPv4 or IPv6 subnet details instantly.

Example values loaded Replace the example address and prefix before using the result for a real network.

Calculator is for informational purposes only. Terms and Conditions

\[\text{Network}=\text{IP}\;\mathrm{AND}\;\text{Mask},\qquad N=2^{32-p}\]

For IPv4, the prefix p selects network bits from 32 total bits; IPv6 uses the same prefix concept across 128 bits and has no broadcast address.

1

Choose the IP version

IPv4 and IPv6 use different address lengths and result conventions.

IP version

Use IPv4 for dotted-decimal addresses or IPv6 for colon-separated hexadecimal addresses.

2

Enter the IP address and prefix

Paste a CIDR address such as 192.168.1.100/24, or enter the address and prefix or IPv4 subnet mask separately.

Valid results update automatically. The prefix field accepts /24, 24, or an IPv4 dotted subnet mask such as 255.255.255.0.

Enter an address alone or include the CIDR prefix, for example 192.168.1.100/24.

IPv4

IPv4: /0 to /32 or a contiguous dotted mask. IPv6: /0 to /128.

CIDR
Advanced Options

Optional IPv4 sizing check. Enter the number of usable host addresses you need.

hosts

Optional. Enter a longer child prefix to divide the current subnet into equal subnets.

CIDR

Optional. Check whether another IP belongs to the same subnet using the current prefix.

IPv4
3

Subnet Result

The network comes first, followed by address range, masks, capacity, and optional advanced checks.

Network
Enter the required values to calculate.

Subnet details

  • Check
Show calculation steps Review prefix bits, mask logic, ranges, special cases, and checks
  1. Enter valid values to see the complete calculation.
4

Network and Host Bit Visual

See how the prefix divides network bits from host bits and where the entered IPv4 address sits inside its subnet.

  1. Enter valid values to populate the chart.
5

Method, Sources, and Assumptions

CIDR bit arithmetic, IPv4 special-prefix handling, IPv6 addressing conventions, and limitations.

CIDR / IETF addressing method
Exact bit arithmeticBrowser-local calculation

The calculator uses classless prefix notation and exact binary masking. IPv4 CIDR follows RFC 4632, /31 point-to-point handling follows RFC 3021, IPv6 addressing follows RFC 4291, and RFC 6164 documents /127 point-to-point use.

  • IPv4 prefixes /0 through /30 use the conventional network and broadcast reservation when reporting usable hosts.
  • An IPv4 /31 reports two usable point-to-point endpoints under RFC 3021; /32 represents one host route.
  • IPv6 does not use broadcast addresses. Address counts are exact powers of two and can be extremely large.
  • Host-sizing is an address-capacity calculation only; actual network design may reserve additional addresses or require platform-specific rules.

Calculator guide

Understanding Your IP Subnet Calculator Results

The IP Subnet Calculator above takes an IPv4 or IPv6 address plus a CIDR prefix and determines the network that contains the address. For IPv4, it also returns the subnet mask, wildcard mask, broadcast address, usable host range, total addresses, usable-host capacity, and address type. For IPv6, it returns the network prefix, first and last addresses, expanded and compressed forms, prefix/host-bit counts, total addresses, and address type.

The core idea is simple: the prefix tells you which leading address bits belong to the network. The remaining bits identify addresses inside that network. A larger prefix number means more network bits and fewer host bits, so the subnet becomes smaller. IPv4 uses 32-bit addresses, while IPv6 uses 128-bit addresses and does not use broadcast addresses.

Minimum input
An IPv4 or IPv6 address and CIDR prefix; IPv4 also accepts a contiguous dotted-decimal subnet mask.
Primary output
The network address or IPv6 network prefix that contains the entered address.
Best check
Verify the prefix length, then confirm the calculated network boundary and address range.

How to Use the IP Subnet Calculator

Use the main fields for the quickest subnet lookup, then open Advanced Options only when you need host sizing, equal subnet splitting, or a same-subnet comparison.

  1. Choose IPv4 or IPv6

    Select IPv4 for dotted-decimal addresses such as 192.168.1.100 or IPv6 for colon-separated hexadecimal addresses such as 2001:db8::1. The prefix limits and result conventions update with the selected IP version.

  2. Enter the address

    You can enter the address by itself or include the prefix in the same field, such as 192.168.1.100/24. For IPv6, compressed notation such as 2001:db8::1/64 is accepted.

  3. Enter the prefix or IPv4 subnet mask

    For IPv4, enter a CIDR prefix from /0 through /32 or a contiguous dotted mask such as 255.255.255.0. For IPv6, enter a prefix from /0 through /128.

  4. Read the subnet result

    The result updates automatically when the active inputs are valid. Start with the network address or network prefix, then check the address range, mask details, address capacity, and address classification.

  5. Use Advanced Options when needed

    Required Usable Hosts finds the smallest conventional IPv4 subnet that meets a requested host count. Split Into Prefix divides the current network into equal child subnets. Second IP Address checks whether another address resolves to the same network under the current prefix.

What the Inputs and Results Mean

Subnet calculations are exact once the IP address and prefix are defined. Most mistakes come from entering the wrong prefix, confusing a host address with a network address, or applying IPv4 conventions to IPv6.

IP Address
The address being located inside a subnet. It does not need to be the network address; any valid host or endpoint address within the block can be used.
CIDR Prefix
The number of leading address bits assigned to the network portion. IPv4 uses /0 to /32; IPv6 uses /0 to /128.
Subnet Mask
The IPv4 dotted-decimal representation of the same prefix boundary. For example, /24 corresponds to 255.255.255.0 and /26 corresponds to 255.255.255.192.
Network Address / Network Prefix
The start of the calculated address block after host bits are cleared to zero. This is the calculator’s primary result.
Broadcast Address
For conventional IPv4 subnets, the all-ones host-bit address at the top of the block. IPv6 does not define broadcast addresses; multicast performs that function instead.
Usable Host Range
For conventional IPv4 subnets, the range between network and broadcast addresses. /31 and /32 require special interpretation and are handled separately by the calculator.
Wildcard Mask
The bitwise inverse of the IPv4 subnet mask. A /26 mask of 255.255.255.192 has wildcard mask 0.0.0.63.
Total Addresses
The exact size of the CIDR block. If \(h\) host bits remain, the block contains \(2^h\) address values.
Usable Hosts
The calculator reports conventional IPv4 host capacity, with explicit special handling for /31 and /32. IPv6 instead reports total address values in the prefix rather than applying IPv4’s network/broadcast subtraction.
Address Type
The tool identifies several common special-use categories, including RFC 1918 private IPv4 space, loopback, link-local, shared/CGNAT, documentation, multicast, and selected IPv6 special-use categories.

How IP Subnet Calculation Works

CIDR makes the network boundary explicit. For IPv4, a prefix \(p\) marks the first \(p\) of 32 bits as network bits; IPv6 applies the same idea to 128 bits. The network is found by keeping those prefix bits and clearing the remaining host bits.

Network calculation

\[ \text{Network}=\text{IP Address}\;\mathrm{AND}\;\text{Subnet Mask} \]

Plain language: a bitwise AND keeps every IP bit where the subnet mask contains 1 and clears every bit where the mask contains 0.

RFC 4632 describes CIDR prefix notation as an IPv4 address followed by a slash and a prefix length that states how many bits are significant.

Address count and conventional IPv4 hosts

\[ h=B-p,\qquad N=2^h \]

Here \(B\) is the address width: 32 bits for IPv4 and 128 bits for IPv6. The remaining \(h\) bits can form \(2^h\) distinct address values.

\[ H=2^h-2 \]

For conventional IPv4 multi-access subnets through /30, subtract the network and broadcast positions. Do not extend this formula to the calculator’s /31, /32, or IPv6 cases.

How to convert CIDR to an IPv4 subnet mask

A CIDR prefix is the number of leading 1 bits in the subnet mask. For /26, write 26 ones followed by 6 zeros:

\[ 11111111.11111111.11111111.11000000_2 \]

Convert each 8-bit octet to decimal: 11111111 is 255 and 11000000 is 192, giving 255.255.255.192. To convert a dotted mask back to CIDR, count the contiguous 1 bits. A valid CIDR mask cannot switch back to 1 after a 0 appears.

How to calculate the IPv4 wildcard mask

The wildcard mask is the bitwise inverse of the subnet mask. In dotted decimal, subtract each mask octet from 255:

\[ \text{Wildcard}=255.255.255.255-\text{Subnet Mask} \]

For /26, 255.255.255.255 − 255.255.255.192 = 0.0.0.63. Wildcard masks are commonly used when matching address ranges in network access-control and routing configurations.

\(p\)
Prefix length Number of leading bits assigned to the network prefix. bits
\(B\)
Address width Total number of bits in the selected IP version. 32 bits IPv4; 128 bits IPv6
\(h\)
Host or interface bits Bits remaining after the network prefix is reserved. bitsderived value
\(N\)
Total address values Exact number of addresses represented by the prefix. count
\(H\)
Conventional usable IPv4 hosts Host capacity after excluding network and broadcast positions for ordinary IPv4 subnets through /30. count
IPv4 /26 network and host bit split A 32-bit IPv4 address divided into 26 network bits and 6 host bits. 32-bit IPv4 address 26 network bits 6 host bits /26 boundary
A /26 prefix fixes 26 of 32 IPv4 bits and leaves 6 host bits. That produces \(2^6=64\) total addresses.

Worked Example: 192.168.1.100/26

Suppose the entered address is 192.168.1.100 with prefix /26. The goal is to find the network, broadcast address, usable host range, and capacity.

Given values

IP address
192.168.1.100
Prefix
/26
Subnet mask
255.255.255.192
Find
Network, broadcast, host range, and usable hosts

Find the block size

\[ h=32-26=6,\qquad 2^6=64 \]

The last mask octet is 192, so the same block size can be checked with \(256-192=64\). The fourth-octet subnet boundaries are therefore 0, 64, 128, and 192.

Locate the entered address

\[ 64\le100\le127 \]

The value 100 falls in the 64–127 block, so the network is 192.168.1.64 and the broadcast address is 192.168.1.127.

Calculate the usable range

\[ H=2^6-2=62 \]

The conventional usable range runs from one above the network address to one below the broadcast address: 192.168.1.65 through 192.168.1.126.

Result

192.168.1.64/26

Subnet mask: 255.255.255.192; wildcard: 0.0.0.63; broadcast: 192.168.1.127; usable hosts: 62.

A /24 split into four /26 subnets Four equal 64-address subnets spanning 192.168.1.0 through 192.168.1.255. /24 split into four /26 subnets .0/26 .64/26 .128/26 .192/26
Borrowing two additional network bits changes /24 to /26 and creates \(2^2=4\) equal child subnets, each containing 64 total IPv4 addresses.

/24 split into four /26 subnets

Equal subdivision of 192.168.1.0/24 into four /26 child networks
Child Network Full Address Range Usable Host Range Broadcast
192.168.1.0/26192.168.1.0–192.168.1.63192.168.1.1–192.168.1.62192.168.1.63
192.168.1.64/26192.168.1.64–192.168.1.127192.168.1.65–192.168.1.126192.168.1.127
192.168.1.128/26192.168.1.128–192.168.1.191192.168.1.129–192.168.1.190192.168.1.191
192.168.1.192/26192.168.1.192–192.168.1.255192.168.1.193–192.168.1.254192.168.1.255

How to Interpret and Check a Subnet Result

A correct subnet result tells you where the address block begins, where it ends, how large it is, and—under IPv4 conventions—which addresses are normally assignable to hosts. The most useful sanity check is that the entered address must fall inside the returned network range.

Higher prefix = smaller block

Holding the IP version constant, increasing the prefix by one bit halves the total addresses. A /24 has 256 addresses, /25 has 128, /26 has 64, and /27 has 32.

Check the boundaries

For IPv4 through /30, the network should be below the usable host range and the broadcast should be above it. If the entered address sits outside those boundaries, the prefix or address was entered incorrectly.

Check the prefix itself

Do not infer the subnet from the last octet. The same address can belong to different networks under /24, /25, /26, or another prefix because the mask—not decimal appearance—sets the boundary.

How the same-subnet check works

Two addresses are in the same subnet when applying the same prefix produces the same network address. For example, 192.168.1.20/24 and 192.168.1.200/24 both resolve to 192.168.1.0/24. Change the second address to 192.168.2.20/24 and its network becomes 192.168.2.0/24, so the addresses are not in the same subnet.

Choosing a subnet from a host requirement

The calculator’s Required Usable Hosts option is deliberately a conventional IPv4 sizing check. It searches from /30 downward and returns the longest prefix whose \(2^h-2\) capacity still meets the requested host count. For 50 hosts, /27 is too small because it provides 30 usable hosts, while /26 provides 62, so /26 is the smallest conventional fit.

CIDR, Host Capacity, and Private-Range Reference

Use these tables to convert IPv4 CIDR prefixes, estimate conventional host capacity, and recognize the three RFC 1918 private ranges. The full CIDR table shows arithmetic block capacity; it does not imply that every address in a very large block is globally assignable or routable.

Common IPv4 prefixes at a glance

Common IPv4 CIDR prefixes
CIDRSubnet MaskTotal AddressesUsable Hosts / Endpoints
/24255.255.255.0256254
/25255.255.255.128128126
/26255.255.255.1926462
/27255.255.255.2243230
/28255.255.255.2401614
/29255.255.255.24886
/30255.255.255.25242
/31255.255.255.25422 P2P endpoints
/32255.255.255.25511 host route

Full IPv4 /0–/32 CIDR table

IPv4 CIDR prefix, subnet mask, wildcard mask, total addresses, and conventional usable-host count
CIDR Subnet Mask Wildcard Mask Total Addresses Usable Hosts / Endpoints
/0 0.0.0.0 255.255.255.255 4,294,967,296 4,294,967,294
/1 128.0.0.0 127.255.255.255 2,147,483,648 2,147,483,646
/2 192.0.0.0 63.255.255.255 1,073,741,824 1,073,741,822
/3 224.0.0.0 31.255.255.255 536,870,912 536,870,910
/4 240.0.0.0 15.255.255.255 268,435,456 268,435,454
/5 248.0.0.0 7.255.255.255 134,217,728 134,217,726
/6 252.0.0.0 3.255.255.255 67,108,864 67,108,862
/7 254.0.0.0 1.255.255.255 33,554,432 33,554,430
/8 255.0.0.0 0.255.255.255 16,777,216 16,777,214
/9 255.128.0.0 0.127.255.255 8,388,608 8,388,606
/10 255.192.0.0 0.63.255.255 4,194,304 4,194,302
/11 255.224.0.0 0.31.255.255 2,097,152 2,097,150
/12 255.240.0.0 0.15.255.255 1,048,576 1,048,574
/13 255.248.0.0 0.7.255.255 524,288 524,286
/14 255.252.0.0 0.3.255.255 262,144 262,142
/15 255.254.0.0 0.1.255.255 131,072 131,070
/16 255.255.0.0 0.0.255.255 65,536 65,534
/17 255.255.128.0 0.0.127.255 32,768 32,766
/18 255.255.192.0 0.0.63.255 16,384 16,382
/19 255.255.224.0 0.0.31.255 8,192 8,190
/20 255.255.240.0 0.0.15.255 4,096 4,094
/21 255.255.248.0 0.0.7.255 2,048 2,046
/22 255.255.252.0 0.0.3.255 1,024 1,022
/23 255.255.254.0 0.0.1.255 512 510
/24 255.255.255.0 0.0.0.255 256 254
/25 255.255.255.128 0.0.0.127 128 126
/26 255.255.255.192 0.0.0.63 64 62
/27 255.255.255.224 0.0.0.31 32 30
/28 255.255.255.240 0.0.0.15 16 14
/29 255.255.255.248 0.0.0.7 8 6
/30 255.255.255.252 0.0.0.3 4 2
/31 255.255.255.254 0.0.0.1 2 2 P2P endpoints
/32 255.255.255.255 0.0.0.0 1 1 host route

CIDR block sizes follow the classless prefix model described in RFC 4632. The /31 row follows the point-to-point behavior in RFC 3021; /32 denotes a single-address host route in the CIDR size table.

Smallest conventional IPv4 subnet by required hosts

Common host requirements and the smallest conventional subnet that can contain them
Required Hosts Smallest Prefix Subnet Mask Usable Capacity
2/30255.255.255.2522
6/29255.255.255.2486
14/28255.255.255.24014
30/27255.255.255.22430
50/26255.255.255.19262
62/26255.255.255.19262
100/25255.255.255.128126
126/25255.255.255.128126
254/24255.255.255.0254
500/23255.255.254.0510
1,000/22255.255.252.01,022
2,000/21255.255.248.02,046
4,000/20255.255.240.04,094

The sizing table mirrors the calculator’s conventional Required Usable Hosts logic, which does not choose /31 or /32 for ordinary host-capacity sizing. Those prefixes have special roles handled separately.

RFC 1918 private IPv4 ranges

IPv4 address blocks reserved for private internets by RFC 1918
CIDR Address Range
10.0.0.0/810.0.0.0 – 10.255.255.255
172.16.0.0/12172.16.0.0 – 172.31.255.255
192.168.0.0/16192.168.0.0 – 192.168.255.255

RFC 1918 reserves exactly these three blocks for private internets. Addresses outside them are not automatically ordinary public addresses: IANA also maintains a special-purpose IPv4 registry for ranges such as shared address space, loopback, link-local, documentation, and protocol-specific blocks.

Common Subnetting Mistakes

Most subnetting errors are not arithmetic errors; they are interpretation errors. The prefix must control the decision, not familiar-looking decimal endings or old classful assumptions.

Assuming .0 is always a network address

It is not. For example, 192.168.1.0 lies inside 192.168.0.0/23 and is not that /23’s network address. The prefix determines the network boundary.

Assuming .255 is always broadcast

It is not. 192.168.0.255 is inside the usable range of 192.168.0.0/23; that subnet’s broadcast address is 192.168.1.255.

Thinking /25 is larger than /24

The opposite is true. A higher prefix fixes more network bits. Moving from /24 to /25 halves the block from 256 to 128 addresses.

Subtracting two for every prefix

The ordinary \(2^h-2\) rule does not describe the calculator’s /31 point-to-point or /32 host-route cases, and IPv6 has no broadcast address to subtract in the IPv4 manner.

Calling every 172.x.x.x address private

RFC 1918 private space covers only 172.16.0.0/12, meaning 172.16.0.0 through 172.31.255.255—not the entire 172/8 block.

Using a non-contiguous IPv4 mask

A CIDR-equivalent subnet mask has contiguous 1 bits followed by contiguous 0 bits. A pattern such as 255.0.255.0 cannot be represented as one CIDR prefix and is rejected by this calculator.

Relying on Class A, B, or C

Classful labels are historical context, not enough information to identify a modern subnet. CIDR explicitly carries the prefix length, so the mask cannot be inferred safely from the first octet alone.

Treating IPv6 like a larger IPv4 address

IPv6 is 128 bits and uses unicast, anycast, and multicast addressing. It does not define broadcast addresses, so IPv4 network/broadcast host-range rules should not be copied across.

IPv4 and IPv6 Edge Cases and Limits

The subnet math is deterministic, but the meaning of certain prefixes depends on protocol conventions. The calculator handles the major boundary cases explicitly instead of forcing one host-count rule onto every network.

IPv4 vs. IPv6 subnetting

Key IPv4 and IPv6 subnetting differences
FeatureIPv4IPv6
Address width32 bits128 bits
Prefix range/0 to /32/0 to /128
Mask notationCIDR or dotted-decimal maskCIDR prefix length
Broadcast addressUsed by conventional IPv4 subnetsNot defined; multicast replaces broadcast functions
Point-to-point edge case/31 under RFC 3021/127 under RFC 6164
Address-count rule\(2^{32-p}\)\(2^{128-p}\)

IPv6 worked example: 2001:db8:abcd:1234::1/64

With a /64 prefix, the first 64 bits identify the network and 64 bits remain for interface addressing. The network prefix is 2001:db8:abcd:1234::/64.

\[ N=2^{128-64}=2^{64}=18{,}446{,}744{,}073{,}709{,}551{,}616 \]

That number is the count of address values in the prefix, not an IPv4-style “usable host” count. IPv6 does not reserve a broadcast address, so the calculator correctly reports broadcast as not applicable.

IPv4 /31

RFC 3021 allows both address values in a 31-bit prefix to be interpreted as host addresses on a point-to-point link. The calculator therefore reports two usable endpoints for /31 and labels the point-to-point convention.

IPv4 /32

A /32 contains one IPv4 address and is identified as a host route in the CIDR block-size table in RFC 4632. Conventional network/broadcast host subtraction is not meaningful for that one-address route.

IPv6 has no broadcast address

RFC 4291 defines IPv6 addresses as 128-bit identifiers and states that IPv6 has no broadcast addresses; multicast supersedes their function. The calculator therefore shows broadcast as not applicable for IPv6.

IPv6 /127

RFC 6164 documents /127 prefixes for inter-router point-to-point links. The calculator surfaces this as an informational special case rather than treating /127 as a normal LAN sizing rule.

Address classification is not reachability

Classifying an address as private, loopback, link-local, shared, documentation, multicast, or another special type does not prove that it is reachable in your network. IANA notes that special-purpose prefixes are not guaranteed routability in every local or global context.

Equal splitting is not VLSM planning

The Split Into Prefix option divides one parent subnet into equal-length child prefixes. Variable Length Subnet Masking can assign different prefix lengths to different requirements, which is a different planning task.

CIDR aggregation and route summarization

CIDR can also summarize aligned, contiguous networks. For example, 192.168.0.0/24, 192.168.1.0/24, 192.168.2.0/24, and 192.168.3.0/24 share the same first 22 bits and can be represented by 192.168.0.0/22. Aggregation only works when the combined block is correctly aligned and covers a contiguous power-of-two address range.

Sources and Calculation Verification

The calculator and this guide use exact prefix arithmetic, with protocol-specific edge cases checked against the relevant IETF RFCs and IANA address registries.

The worked /26 example was checked two independent ways: by the mask/block-size shortcut and by binary bitwise AND. Both produce network 192.168.1.64, broadcast 192.168.1.127, and 62 conventional usable hosts. The article’s interface descriptions were matched against the finalized IP Subnet Calculator HTML and JavaScript used on this page.

IP Subnet Calculator FAQ

These answers cover common subnet questions that are easy to misinterpret even after the arithmetic is correct.

What does /24 mean in an IP address?

For IPv4, /24 means the first 24 of 32 bits identify the network, leaving 8 host bits. That creates \(2^8=256\) total addresses. In a conventional IPv4 /24 subnet, 254 are usable host addresses after excluding the network and broadcast positions.

What subnet mask is /24?

/24 corresponds to 255.255.255.0. The mask has 24 leading 1 bits followed by 8 zero bits.

How many hosts can a /26 subnet hold?

A /26 leaves 6 host bits, so it contains 64 total IPv4 addresses. A conventional /26 provides 62 usable host addresses.

What subnet do I need for 50 hosts?

For conventional IPv4 host sizing, /26 is the smallest fit. /27 provides only 30 usable hosts, while /26 provides 62. The corresponding mask is 255.255.255.192.

How do I find the network address from an IP address?

Apply the subnet mask to the IP address with a bitwise AND operation. This preserves the network bits and sets the host bits to zero. The calculator performs that operation automatically for the selected IPv4 or IPv6 prefix.

How do I find the IPv4 broadcast address?

For a conventional IPv4 subnet, keep the network bits fixed and set every host bit to 1. Equivalently, OR the network address with the wildcard mask. IPv6 does not have a broadcast address.

Can an IP address ending in .0 be usable?

Yes. The final decimal octet does not determine whether an address is a network address. For example, 192.168.1.0 is inside 192.168.0.0/23; the /23 network address is 192.168.0.0.

Can an IP address ending in .255 be usable?

Yes. Under 192.168.0.0/23, the address 192.168.0.255 is inside the host range because the broadcast address for the /23 is 192.168.1.255.

Why does a /31 show two usable IPv4 endpoints?

RFC 3021 defines a limited use of 31-bit prefixes on point-to-point IPv4 links and requires the two address values to be interpreted as host addresses in that context. The calculator therefore reports two endpoints and labels the special convention.

What does /32 mean in IPv4?

A /32 contains exactly one IPv4 address and is commonly represented as a host route. There are no remaining host bits, so the ordinary network-plus-host-range interpretation does not apply.

Does IPv6 have a broadcast address?

No. RFC 4291 states that IPv6 has no broadcast addresses; multicast supersedes the broadcast function. That is why the calculator reports broadcast as not applicable in IPv6 mode.

Are two IP addresses on the same subnet if their first three octets match?

Not necessarily. That shortcut works only when the actual prefix makes those three octets the network portion, such as /24. The correct test is to apply the same prefix to both addresses and compare the resulting network addresses.

Scroll to Top