What is the memory limit for a network extension?

I've been wondering what is the memory limit for network extensions. Specifically, I'm using the NEPacketTunnelProvider extension point.

The various posts on this forum mention 5 MB and 6 MB for 32-bit and 64-bit respectively. However I find that (at least on iOS 10) the upper limit seems to be 15 MB. Is this the new memory limit for extensions?

Answered by DTS Engineer in 732711022

Any chance of listing the figures for iOS 16?

This is what I’m seeing on iOS 16.0:


ProviderLimit (MiB) 
packet tunnel 50
app proxy 15
filter control 50
filter data 50
DNS proxy 15
app push 24

Be aware that I tested this on a very modern device, because that’s what I have iOS 16 installed on; it’s possible that the limits are lower on older devices.

And, just so we’re clear:

IMPORTANT These limits have changed in the past and may well change in the future. I’m posting them to assist in your debugging. You should not hard code knowledge about these limits into your code. The only way to ensure that your provider can run within the system’s memory limits is to thoroughly test it on a wide range of device and OS combinations.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

iOS 26 still has 50MiB packet tunnel limit. This is ridiculous in 2025 when even the iPhone 15 Pro has 8GB of RAM. Apple, please fix this.

How about iOS 26?

AFAICT the limits are unchanged on iOS 26.

If you’d like to see bigger limits, the best way to get that feedback in front of the folks who have the power to enact change is file it in Feedback Assistant. Make sure include details about what you’re trying to do and why the current limits are negatively affecting your users.

Please post your bug number, just for the record.

Also, keep in mind that iOS 26 runs on old devices which are significantly more memory constrained than the shiny new hardware you might be using. My daughter may one day have to give up her iPhone SE (2nd generation), and thus accepted the new reality of Face ID, but today is not that day (-:

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

What is the memory limit for a network extension?
 
 
Q