Shannon Channel Capacity Calculator

Last Updated: July 21, 2026

Calculate the Shannon channel capacity, the maximum error-free data rate from bandwidth and SNR, or solve for the bandwidth or SNR a target rate requires.

Enter bandwidth and SNR to get the Shannon-Hartley capacity limit.

Use dB for link budgets, or switch to a plain power ratio (S/N).

+ Advanced: compare an actual data rate to the limit

Shannon Channel Capacity Formula

The calculator is built on the Shannon-Hartley theorem, which sets the maximum error-free data rate of a communication channel:

C = B * log2(1 + S/N)

When the SNR is given in decibels, the calculator first converts it to a linear power ratio:

S/N = 10^(SNR_dB / 10)

The same relationship can be rearranged to solve for the bandwidth a target rate needs, or the SNR a target rate needs:

B = C / log2(1 + S/N)
 S/N = 2^(C/B) - 1

Variables:

  • C is the channel capacity, the highest data rate that can be carried with an arbitrarily low error rate, in bits per second (bps)
  • B is the channel bandwidth in hertz (Hz)
  • S/N is the signal-to-noise ratio as a linear power ratio (signal power divided by noise power, not in dB)
  • SNR_dB is the same ratio expressed in decibels
  • C/B is the spectral efficiency in bits per second per hertz (bits/s/Hz)

The solve-for selector at the top of the calculator switches between the three forms. In capacity mode you enter a bandwidth and an SNR (in dB or as a linear ratio) and get the Shannon limit plus the spectral efficiency. In required bandwidth mode you enter a target data rate and an SNR and get the minimum bandwidth that can carry it. In required SNR mode you enter a target rate and a bandwidth and get the minimum SNR in dB and as a linear ratio. The advanced option in capacity mode lets you enter the data rate your link actually delivers and reports what percentage of the theoretical limit you are achieving and how much headroom remains.

Spectral Efficiency by SNR and Real-World Channel Limits

The first table shows how many bits per second each hertz of bandwidth can carry at a given SNR. It is the fastest way to sanity-check a result: multiply the bits/s/Hz value by your bandwidth in Hz. The modulation column lists the scheme class that real systems use to approach that efficiency.

SNR (dB)Linear S/NCapacity (bits/s/Hz)Comparable modulation class
-100.10.14Spread spectrum, power-limited links
011.00BPSK
53.162.06QPSK
10103.468-PSK to 16-QAM
201006.6664-QAM
253168.31256-QAM
301,0009.971024-QAM
4010,00013.294096-QAM, cable and fixed links

The second table applies the formula to familiar channels so you can see how close real equipment gets to the theoretical ceiling. Rates are per spatial stream; MIMO systems multiply the limit by the number of independent streams.

ChannelBandwidthTypical SNRShannon limitTypical delivered rate
Analog phone line3.1 kHz37 dB38.1 kbps33.6 kbps (V.34 modem)
Cable TV QAM channel6 MHz40 dB79.7 Mbps42.9 Mbps (256-QAM)
Wi-Fi, one stream20 MHz25 dB166.2 Mbps86 to 143 Mbps (802.11ax)
LTE, one stream20 MHz20 dB133.2 Mbps75 to 100 Mbps
5G NR mid-band, one stream100 MHz20 dB665.8 Mbps300 to 500 Mbps

Example Problems

Example 1: solve for capacity. A wireless link has 10 MHz of bandwidth and an SNR of 20 dB. First convert the SNR to a linear ratio: 10^(20/10) = 100. Then apply the formula: C = 10,000,000 * log2(1 + 100) = 10,000,000 * 6.658 = 66.58 Mbps. The spectral efficiency is 6.66 bits/s/Hz. A real radio on this channel would do well to deliver 40 to 55 Mbps after coding overhead and implementation losses.

Example 2: solve for required SNR. You need 50 Mbps through a 10 MHz channel. The required spectral efficiency is C/B = 50,000,000 / 10,000,000 = 5 bits/s/Hz. The minimum SNR is 2^5 – 1 = 31 as a linear ratio, which is 10 * log10(31) = 14.91 dB. Any link budget for this channel should target roughly 16 to 18 dB to leave a working margin.

FAQ

Why can’t real systems reach the Shannon limit?

The theorem assumes infinitely long codewords, perfect coding, and pure additive white Gaussian noise. Real links pay overhead for error-correction coding, pilot symbols, guard intervals, and imperfect hardware, and they face fading and interference that the ideal model ignores. Modern LDPC and turbo codes get within about 1 dB of the limit on clean channels, which is why well-designed systems deliver 60 to 90 percent of the Shannon rate but never all of it.

Does adding more bandwidth always increase capacity?

Not without limit. Noise power grows with bandwidth (N = N0 * B, where N0 is the noise power density), so if your signal power is fixed, widening the channel lowers the SNR at the same time. As B goes to infinity, capacity approaches a finite ceiling of about 1.44 * S/N0. This is the origin of the ultimate low-SNR limit: reliable communication requires an energy per bit to noise density ratio (Eb/N0) of at least -1.59 dB. Extra bandwidth helps most when SNR is high; at very low SNR you are power limited, not bandwidth limited.

What is the difference between the Shannon capacity and the Nyquist rate?

The Nyquist formula, C = 2 * B * log2(M), gives the signaling limit of a noiseless channel using M distinct symbol levels. It tells you how fast you can send symbols, but it lets capacity grow forever by adding levels. The Shannon-Hartley theorem adds noise to the model and caps how many levels are distinguishable, so it gives the true upper bound of any real channel. In practice you use Nyquist to relate symbol rate to bandwidth and Shannon to find the ceiling that noise imposes.

Shannon Channel Capacity Calculator