BSS Coloring, introduced in 802.11ax (Wi-Fi 6), helps improve performance in crowded networks by allowing multiple BSSs (Basic Service Sets) to operate more efficiently on the same channel.
In traditional Wi-Fi (CSMA/CA), devices rely on Clear Channel Assessment (CCA), which includes both preamble detection (PD) and energy detection (ED) checks. When a valid Wi-Fi transmission is detected even at very low power levels (e.g., around –82 dBm for 20 MHz channels), the devices defer to transmission. This leads to unnecessary backoff in dense environments where multiple APs operate on the same channel.
Because of this behavior, devices often wait unnecessarily for weak signals from nearby networks that don’t really interfere. This leads to poor performance, especially in dense setups with many APs using the same channel.
In older Wi-Fi versions, the detection threshold is fixed. In Wi-Fi 6 (802.11ax), devices can use a higher threshold (OBSS_PD), which allows them to ignore weaker signals from other networks and transmit at the same time. To avoid interference, they may reduce their transmit power. The OBSS_PD range is defined between –82 dBm and –62 dBm.
Before transmitting, a device needs to know whether a received frame is from its own network (intra-BSS) or from a neighboring network (inter-BSS). To help with this, BSS Coloring was introduced. Each AP assigns a color (a number from 1 to 63) and includes it in beacon frames.
If two BSS choose the same color, a color collision occurs. In such cases, the client devices treat each other’s traffic as if they are in the same BSS (Intra-BSS) rather than an overlapping one (OBSS). The AP detects such collisions by observing frames with the same color but different BSSIDs.
The AP then selects a new color from the available range (1 to 63) and announces the change through beacon frames using the “BSS Color Change Announcement” sub element that is present under the HE operation IE and contains the new BSS color information. Along with this, a “BSS Color Switch Countdown” field is included to ensure that all associated stations transition to the new color synchronously. During this transition the “BSS color Disabled” bit is set to true to temporarily disable color-based spatial reuse.
LinkedIn: ![]()

