How much data does a VoIP call use? The calculation, codec by codec
Ask how much data a voice call uses and you will find answers ranging from "almost nothing" to "half a gigabyte an hour". Both can be right. The figure depends on the codec, on packet overhead and on whether you count one direction or two. Here is how to work it out yourself.
Step 1: the codec bitrate
The codec is the starting point. It turns your voice into a stream of bits at a given rate, measured in kilobits per second (kbit/s). Classic telephone-quality G.711 runs at a constant 64 kbit/s. Modern codecs are far more efficient: Opus, used by WebRTC and many apps, can deliver good wideband speech at around 16 to 32 kbit/s and adapts its rate to the connection (RFC 6716; the IETF's RTP payload format for Opus discusses typical rates). Mobile HD Voice with AMR-WB tops out at 23.85 kbit/s.
Step 2: add the packet headers
Voice is sent in small packets, usually one every 20 milliseconds, so 50 packets per second in each direction. Every packet carries headers in addition to the audio:
- RTP header: 12 bytes (RFC 3550)
- UDP header: 8 bytes
- IPv4 header: 20 bytes (IPv6: 40 bytes)
That is 40 bytes per packet over IPv4. At 50 packets per second:
40 bytes × 8 bits × 50 packets/s = 16,000 bit/s = 16 kbit/s of overhead
Over IPv6 the overhead rises to 24 kbit/s. Encryption (SRTP authentication tags, or the IPsec tunnel used by Wi-Fi calling) adds a little more, and the Wi-Fi or Ethernet layer adds its own framing, which is not counted against a mobile data allowance in the same way. For low-bitrate codecs, the headers can weigh more than the voice itself, which is why mobile networks use header compression (RoHC) for VoLTE.
Step 3: convert to megabytes per hour
Divide by 8 to go from bits to bytes, multiply by 3,600 seconds:
(codec kbit/s + overhead kbit/s) ÷ 8 × 3,600 = kilobytes per hour, per direction
Then remember that a call is two-way. Your phone uploads your voice and downloads the other person's, and mobile plans count both.
Worked examples (IPv4, 20 ms packets)
| Codec and rate | On the wire, one direction | Per hour, one direction | Per hour, both directions |
|---|---|---|---|
| G.711, 64 kbit/s | 80 kbit/s | 36 MB | 72 MB |
| Opus, 32 kbit/s | 48 kbit/s | 21.6 MB | 43.2 MB |
| Opus, 24 kbit/s | 40 kbit/s | 18 MB | 36 MB |
| Opus, 16 kbit/s | 32 kbit/s | 14.4 MB | 28.8 MB |
| G.729, 8 kbit/s | 24 kbit/s | 10.8 MB | 21.6 MB |
These are calculated values (1 MB = 1,000,000 bytes), not measurements of any particular app. They are upper bounds in one respect: many apps use discontinuous transmission, sending little or nothing while you are silent, and variable bitrate, lowering the rate when the audio is simple. In a normal conversation each side speaks well under half the time, so real-world usage can be noticeably lower.
Why apps rarely publish a single number
App makers do not usually document which codec and bitrate their calls use, and they change them dynamically. Most apps raise quality on a good Wi-Fi connection and lower it on a weak mobile signal. Some offer a "use less data for calls" switch; WhatsApp, for example, has such an option in its storage and data settings, according to its help centre. The practical approach is to measure: both iOS and Android show mobile data used per app in their settings. Reset the counter, make a ten-minute call, and multiply by six.
Video is a different order of magnitude
Video calls add a picture stream that typically runs at hundreds of kilobits to several megabits per second, depending on resolution and motion. That is ten to a hundred times a voice-only call. If you are on a limited data plan abroad, switching the camera off is by far the biggest saving available.
Wi-Fi calling and VoLTE
Carrier voice is not counted like app traffic. VoLTE calls are billed as voice minutes, not deducted from your data allowance. Wi-Fi calling uses Wi-Fi, so it does not touch your mobile data either, although it does use your broadband, which matters only on capped connections such as some satellite or hotspot plans.
Practical rules of thumb
- A voice-only app call on a modern codec uses in the region of a few tens of megabytes per hour, both directions combined.
- Telephone-quality G.711 over VoIP uses roughly 70 MB per hour both ways.
- Video multiplies the figure many times over.
- Measure your own app with the phone's per-app data counter before a trip.
Data is rarely what makes a call fail. Delay and lost packets are; see why VoIP calls break up.