What Is a Jitter Buffer? How VoIP and Video Apps Smooth Out Packet Delay (and When to Adjust It)
Your voice packets don’t all arrive at the same time — and a jitter buffer is what keeps your calls from sounding robotic. Here’s how it works, the difference between static and adaptive buffers, and when tweaking it actually helps.
You’re on a Zoom call and the audio cuts in and out, or sounds robotic and clipped. The culprit is almost always jitter — the variation in the time it takes packets to travel across the network. The fix built into every VoIP and video app is a jitter buffer. Understanding what it does explains why your calls sound the way they do, and when adjusting it can actually help.
What Is Network Jitter?
When you speak on a VoIP call, your voice is split into small chunks called packets, each stamped with a timestamp. On a perfect network, every packet takes exactly the same time to arrive. On a real network — especially WiFi — some packets arrive early, some late, and some out of order. That variation in arrival time is jitter, measured in milliseconds (ms).
Jitter under 30ms is generally imperceptible on voice calls. Above 50ms, audio starts to sound choppy or robotic. At 100ms or more, calls become unreliable. See our full guide on what jitter is and how to measure it for a deeper look at the metric itself.
What Is a Jitter Buffer?
A jitter buffer is a small temporary storage area (a queue) built into VoIP and video apps. When packets arrive, the buffer holds them briefly before handing them off to the audio or video decoder. By introducing a short, deliberate delay, it absorbs variations in arrival time and delivers packets to the decoder at a steady, even pace — making your call sound smooth even when the network is uneven.
Think of it like a loading dock: trucks (packets) arrive at irregular intervals, but the dock worker (jitter buffer) queues them up and sends items into the warehouse (your speakers) at a consistent rhythm. If a truck is slightly late, the queue absorbs the gap. If the queue runs empty before the next truck arrives, audio drops out — that’s a buffer underrun, and it’s what you hear as a momentary cut or click.
Static Jitter Buffers
A static jitter buffer has a fixed delay — say, 60ms — regardless of current network conditions. Every packet is held for exactly that duration before playback. Static buffers are simple to implement and predictable, but they’re inefficient: on a calm network they add unnecessary latency, and on a turbulent network they may be undersized, still letting packets drop. Most modern consumer applications have moved away from static buffers.
Adaptive (Dynamic) Jitter Buffers
An adaptive jitter buffer monitors real-time network conditions and adjusts its size automatically. When jitter is low, the buffer shrinks to minimize added latency (sometimes as low as 20–30ms). When jitter spikes, it expands — sometimes up to 150–200ms — to absorb the variation. Adaptive buffers are standard in WebRTC, Zoom, Microsoft Teams, Google Meet, and virtually every modern VoIP stack.
The tradeoff is complexity: an adaptive buffer has to continuously estimate jitter and decide when to grow or shrink without overcorrecting. A badly tuned adaptive algorithm can itself introduce audio artifacts as it recalibrates.
How Apps Like Zoom, Teams, and WhatsApp Use Jitter Buffers
Most major platforms handle jitter buffering transparently, without exposing a user setting:
- Zoom: Uses an adaptive jitter buffer that adjusts automatically to your network. Zoom also adjusts its codec (Opus or its proprietary codec) in parallel to compensate for packet loss independently of the buffer.
- Microsoft Teams: Runs a dynamic buffer that can extend up to 200ms on degraded connections. Teams pairs this with forward error correction (FEC) so that even if a packet is lost entirely, the decoder can often reconstruct it without audible artifacts.
- Google Meet: Uses WebRTC’s built-in adaptive jitter buffer. The default maximum is 50 queued packets, but Meet’s internal tuning targets the lowest latency that still avoids drops.
- WhatsApp and FaceTime: Both use WebRTC-derived stacks with adaptive buffering. FaceTime on Apple hardware benefits from tight OS integration and often achieves lower buffer depths than third-party apps.
- Hardware VoIP phones (Polycom, Yealink, Cisco): Unlike software apps, desk phones typically expose a jitter buffer setting directly in their web administration interface. This is where manual tuning is actually feasible.
When Should You Adjust Your Jitter Buffer?
For most people on consumer apps like Zoom or Teams, the answer is: you can’t, and you don’t need to. Those apps manage the buffer internally. What you can and should do is fix the underlying network jitter, which the buffer then has less work to do. But there are cases where manual tuning matters:
Hardware VoIP Phones and PBX Systems
If you use a desk phone (Yealink, Grandstream, Polycom) or a self-hosted PBX like FreePBX or Asterisk, jitter buffer settings are usually accessible:
- Too much delay, calls feel laggy: Reduce the maximum buffer size. On Yealink phones, this is under Account › Advanced › Jitter Buffer. Try dropping from the default (typically 120ms) to 60–80ms and monitoring call quality.
- Choppy or clipped audio: Increase the buffer or switch from “Fixed” to “Adaptive” mode if available. A maximum of 100–150ms is a reasonable ceiling for most office networks.
- Asterisk/FreePBX: The jitter buffer is configured per-channel in
chan_sip.conforpjsip.conf. Adaptive mode (jbenable=yes,jbforce=no) is recommended over forced static buffering for most deployments.
WebRTC Developer Settings
If you’re building a WebRTC application, the browser API exposes RTCRtpReceiver.jitterBufferTarget (in supported browsers) to hint a preferred buffer depth. This is an advanced use case; for end users, there’s no browser UI to adjust WebRTC jitter buffering.
How to Actually Reduce Jitter (the Better Fix)
The most reliable way to improve call quality is to reduce jitter at the network level so the buffer has less work to do. A smaller buffer means lower latency and better call feel. Key steps:
- Switch to a wired connection: Ethernet eliminates WiFi-specific jitter from channel contention, interference, and band steering. A wired connection to your router during important calls is the single biggest improvement most people can make.
- Use the 5 GHz or 6 GHz band: If you must use WiFi, these bands are less congested than 2.4 GHz and typically deliver lower jitter on modern routers.
- Enable QoS on your router: Most WiFi 6 and WiFi 7 routers can prioritize voice and video traffic. Look for a “Gaming” or “Voice” QoS preset that puts VoIP packets at the head of the queue.
- Reduce network congestion: Large file downloads or cloud backups running during a call spike jitter. Scheduling bandwidth-heavy tasks outside call hours, or capping their upload/download speed via QoS, keeps the queue shallow.
- Fix bufferbloat: Routers without active queue management (AQM) like CAKE or FQ-CoDel let large buffers fill up during congestion, spiking jitter. See our bufferbloat guide for testing and fixing this.
If you’re already experiencing jitter spikes and want step-by-step diagnostics, our guide on how to fix WiFi jitter spikes walks through isolating the cause from the router outward. And if high ping is also an issue, see our guide on fixing high ping on WiFi — the two problems often share the same root cause.
Quick Summary
A jitter buffer is the queue inside every VoIP and video app that smooths out uneven packet delivery before it reaches your speakers. Adaptive buffers (used by Zoom, Teams, Meet, and WebRTC by default) adjust their depth automatically and need no user intervention. Manual tuning is only relevant for hardware desk phones and self-hosted PBX systems. For everyone else, the best path to better calls is a cleaner network — less jitter going in means the buffer needs less room, which means lower latency and more natural-sounding conversations.
Related Articles
How to Fix WiFi Dropping During Video Calls: Zoom, Teams, and Google Meet Stability Fixes for Home Networks
Video calls fail on WiFi for a different reason than slow streaming — they are real-time, so a 2-second upload interruption drops you from the call entirely. This guide covers the five fixes that resolve mid-call drops in Zoom, Microsoft Teams, and Google Meet: band selection, power saving, QoS, driver updates, and background traffic control.
What Is Jitter? Why It Matters More Than You Think
Jitter is the variation in delay between network packets — and it causes more real-world problems than high ping. Here’s what jitter is, why it ruins gaming and video calls, how to measure it, and the fixes that actually work.
How to Fix WiFi Not Working on a QNAP NAS: USB Adapter Compatibility, QTS Network Configuration, and Static IP Fixes
Most QNAP NAS devices have no built-in WiFi — wireless connectivity depends entirely on a compatible USB or PCIe adapter. If your QNAP NAS isn’t connecting to WiFi, the fix usually comes down to adapter compatibility, a missing System volume in QTS 5.1+, or incorrect Network & Virtual Switch settings. Here’s how to diagnose and resolve each cause.