MOS / R-factor Calculator
ITU-T G.107 E-model. Pick a codec, dial in packet loss and one-way delay, get the predicted R-factor and MOS with a breakdown of which impairments are driving the score.
Everything runs in your browser. The values you type are never sent to any server.
Quality
Impairment breakdown
- Ro (basic)
- —
- − Id (delay)
- —
- − Ie-eff (codec + loss)
- —
- + A (advantage)
- —
- = R
- —
Driving impairment
—
What changes the answer
R-factor categories (G.109)
≥ 90 best (toll quality, all satisfied) · 80–89 high (most satisfied) · 70–79 medium (some dissatisfied) · 60–69 low (many dissatisfied; not recommended for production) · 50–59 poor (nearly all dissatisfied) · < 50 unacceptable. The R → MOS mapping is non-linear, so R changes of 5 points have bigger MOS impact in the 70–80 range than they do above 90.
The 175 ms one-way delay knee
Delay impairment is roughly 0 up to 100 ms. Between 100 and 175 ms it rises gently. Past 175 ms G.107 applies a second, steeper term — every added millisecond costs noticeably more R-points. 250 ms one-way is where talker overlap and double-talk become common; 400 ms feels like a satellite link regardless of codec.
Loss tolerance varies sharply by codec
The Bpl factor — codec robustness to packet loss — ranges from 4.3 (G.711 with no PLC) to 25 (G.711 with PLC, G.722.1). At 3 % loss, plain G.711 loses ~40 R-points while EVS or G.711+PLC loses less than 10. If you can't reduce loss upstream, switching to a more tolerant codec is often the single biggest lever.
VAD / DTX doesn't help loss
Silence suppression reduces average bandwidth, not impairment. The E-model uses the per-packet loss probability the receiver actually sees — which doesn't change whether the codec sends silence frames or not. (Some codecs do produce subtly worse comfort noise when DTX-driven, but that's not in the standard E-model.)
One-way delay is half the conversation
The Ta input is mouth-to-ear, one direction. Typical contributors: encoding (~5–25 ms depending on ptime), jitter buffer (~30–80 ms), network propagation (~1 ms per 200 km plus serialization), SBC/transcode hops (~5 ms each), decoding (~5 ms). Round-trip delay is roughly 2× this. The E-model takes one-way, not RTT.
Wideband baseline
Wideband codecs (G.722, AMR-WB, Opus, EVS, G.722.1) use a higher basic R-factor (Ro = 129 per G.107.1) because wideband audio is fundamentally higher quality. This calculator clamps the displayed R at 100 so you can compare across narrowband and wideband — but the raw math is what determines how much headroom a wideband codec has against impairments before degradation shows up.
The advantage factor isn't a free pass
A is meant to model user expectations being lower in less-than-ideal access scenarios (cellular, satellite, cordless). It doesn't actually improve quality — it just raises the score by the chosen amount. Use sparingly; if you find yourself adding A=20 to make production VoIP look acceptable, the actual problem is in the path.
What this doesn't model
The simplified E-model used here doesn't account for echo (talker and listener echo are usually handled by AEC at the endpoint), signal-to-noise ratio impairments (treated as 0 for digital VoIP), jitter as a separate input (its effect shows up as packet loss after the jitter buffer overruns), or codec-pair transcoding cost (each transcode boundary roughly doubles the Ie of the worse codec).