MCS, TBS and Code Rate Reference
Modulation and Coding Scheme, Transport Block Size, and code rate per 3GPP TS 38.214 §5.1.3.1 (NR) and TS 36.213 §7.1.7 (LTE). SE and TBS computation formulas with worked examples.
Last verified 2026-04-15 · Release 18
5G NR Table 1 (64-QAM, TS 38.214 Table 5.1.3.1-1)
| MCS | Modulation | Code rate x1024 | SE (bits/RE) |
|---|---|---|---|
| 0 | QPSK | 120 | 0.2344 |
| 5 | QPSK | 379 | 0.7402 |
| 10 | 16-QAM | 340 | 1.3281 |
| 15 | 16-QAM | 616 | 2.4063 |
| 20 | 64-QAM | 567 | 3.3223 |
| 25 | 64-QAM | 822 | 4.8164 |
| 28 | 64-QAM | 948 | 5.5547 |
Max SE Table 1 = 5.55 bits per RE per layer
5G NR Table 2 (256-QAM, TS 38.214 Table 5.1.3.1-2)
| MCS | Modulation | Code rate x1024 | SE |
|---|---|---|---|
| 17 | 64-QAM | 490 | 2.871 |
| 20 | 256-QAM | 517 | 4.039 |
| 22 | 256-QAM | 600 | 4.688 |
| 24 | 256-QAM | 682 | 5.332 |
| 26 | 256-QAM | 762 | 5.953 |
| 28 | 256-QAM | 910 | 7.105 |
Max SE Table 2 = 7.41 bits per RE per layer
TBS formula (TS 38.214 §5.1.3.2)
Step 1: N_RE_per_PRB = 12 * N_sh_symb - N_DMRS - N_other Step 2: N_RE_prime = min(156, N_RE_per_PRB) * N_PRB Step 3: N_info = N_RE_prime * R * Q_m * n_layers * S Step 4: if N_info <= 3824, look up TBS table Step 5: if N_info > 3824, apply closed form quantization Example: 100 MHz SCS 30 kHz, 2 layers, MCS 17 Table 2 N_RE_prime = min(156, 156) * 273 = 42588 N_info = 42588 * 0.4785 * 6 * 2 * 1 = 244498 bits TBS approximately 245040 bits (30630 bytes)
Live MCS on your Android with HiCellTek
HiCellTek RF Monitor displays the serving cell MCS index and derived spectral efficiency in real time. Useful for verifying MCS adaptation against SINR conditions.
Frequently asked questions
What is MCS?
Modulation and Coding Scheme, an integer index that identifies a specific pair of modulation (QPSK, 16-QAM, 64-QAM, 256-QAM, 1024-QAM) and code rate. Defined in 3GPP TS 38.214 §5.1.3.1 for NR and TS 36.213 §7.1.7 for LTE.
What is spectral efficiency (SE)?
SE = Q_m * R, bits per symbol per layer, where Q_m is the bits per modulation symbol and R is the code rate. Max SE in NR Table 1 is 5.55, Table 2 is 7.41, Table 4 is 9.26.
What is TBS?
Transport Block Size, the number of information bits a transport block carries on PDSCH or PUSCH in a single transmission. Computed per TS 38.214 §5.1.3.2.
Why are there multiple MCS tables?
Different maximum modulations and code rates for different deployment scenarios. Table 1 is up to 64-QAM, Table 2 is up to 256-QAM, Table 3 is URLLC with very low SE, Table 4 is 1024-QAM (Release 17).
How does SINR affect MCS selection?
Higher SINR allows higher MCS (more bits per symbol). At 22 dB SINR, 256-QAM is achievable. At 8 dB, 64-QAM. At 2 dB, 16-QAM. Below -3 dB, QPSK.
How is TBS computed?
From N_RE_prime (capped at 156 per PRB), code rate, modulation order, layers, and scaling. For N_info <= 3824 bits, look up TBS table 5.1.3.2-1. For larger, apply closed form quantization.