Tools / Engineering & scale / Vol III

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.

Inputs

%
051015202530 %
ms
0100150200300400500 ms
Advantage factor (A)

Quality

R-factor
predicted MOS

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).