[GH-ISSUE #1354] High battery usage #2172

Open
opened 2026-08-05 00:45:42 -04:00 by saavagebueno · 42 comments
Owner

Originally created by @Pounii25 on GitHub (Dec 4, 2023).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/1354

I tryed every type of battery profile I have on my Android 13 device but the consumption is very high despite the real usage is close to nothing (under 40 Mb data in the entire month, can't get the day but sure less)

My set up is simple:
A peer (as root peer) on my HomeLab, another peer which is my Android phone. I also have custom dns pointing on the route peer but just for my internal domain (seems working fine)

I let the peer connected all the day, at the the end of it the consumption just for the app is more than 30%

My device:

Asus Zenfone 9
Android 13

Screenshot_20231204-202943_Settings.jpg

Screenshot_20231204-203000_Settings.jpg

Originally created by @Pounii25 on GitHub (Dec 4, 2023). Original GitHub issue: https://github.com/netbirdio/netbird/issues/1354 I tryed every type of battery profile I have on my Android 13 device but the consumption is very high despite the real usage is close to nothing (under 40 Mb data in the entire month, can't get the day but sure less) My set up is simple: A peer (as root peer) on my HomeLab, another peer which is my Android phone. I also have custom dns pointing on the route peer but just for my internal domain (seems working fine) I let the peer connected all the day, at the the end of it the consumption just for the app is more than 30% My device: Asus Zenfone 9 Android 13 ![Screenshot_20231204-202943_Settings.jpg](https://github.com/netbirdio/netbird/assets/46266628/a52ad2d0-8fe6-42ff-9c23-4a0e66bb431c) ![Screenshot_20231204-203000_Settings.jpg](https://github.com/netbirdio/netbird/assets/46266628/f444eec8-57df-4965-ad8f-20e7483aa6b6)
saavagebueno added the bugmobileAndroidbattery-usage labels 2026-08-05 00:45:43 -04:00
Author
Owner

@Ginner commented on GitHub (Dec 6, 2023):

Might be related to my issue here: #1140.
Do you know if you're changing networks?

<!-- gh-comment-id:1843580998 --> @Ginner commented on GitHub (Dec 6, 2023): Might be related to my issue here: #1140. Do you know if you're changing networks?
Author
Owner

@Pounii25 commented on GitHub (Dec 6, 2023):

Might be related to my issue here: #1140. Do you know if you're changing networks?

Do you mean If I change the provider 5g antenna during the day?

<!-- gh-comment-id:1843648075 --> @Pounii25 commented on GitHub (Dec 6, 2023): > Might be related to my issue here: #1140. Do you know if you're changing networks? Do you mean If I change the provider 5g antenna during the day?
Author
Owner

@pappz commented on GitHub (Dec 7, 2023):

Hi @Pounii25! Could you take a test without DNS settings? I would like to localize the root cause of the issue.

<!-- gh-comment-id:1845211805 --> @pappz commented on GitHub (Dec 7, 2023): Hi @Pounii25! Could you take a test without DNS settings? I would like to localize the root cause of the issue.
Author
Owner

@Pounii25 commented on GitHub (Dec 7, 2023):

Sure! ok now I have disable the DNS forward to my rooting peer. I let the routes enabled, so you can test it separately. I will report here the consumption.

<!-- gh-comment-id:1845368827 --> @Pounii25 commented on GitHub (Dec 7, 2023): Sure! ok now I have disable the DNS forward to my rooting peer. I let the routes enabled, so you can test it separately. I will report here the consumption.
Author
Owner

@Pounii25 commented on GitHub (Dec 7, 2023):

ok after more than 2 hours I can tell you that without DNS forward there is no battery drain at all.

<!-- gh-comment-id:1845632271 --> @Pounii25 commented on GitHub (Dec 7, 2023): ok after more than 2 hours I can tell you that without DNS forward there is no battery drain at all.
Author
Owner

@Ginner commented on GitHub (Dec 7, 2023):

Might be related to my issue here: #1140. Do you know if you're changing networks?

Do you mean If I change the provider 5g antenna during the day?

I get a similar issue (battery drain and phone getting hot) when changing from WiFi to 4g and vice versa, from there on the battery drain will continue until I either logout/login or restart the app. So I meant switching network 'type'.

<!-- gh-comment-id:1845895598 --> @Ginner commented on GitHub (Dec 7, 2023): > > Might be related to my issue here: #1140. Do you know if you're changing networks? > > Do you mean If I change the provider 5g antenna during the day? I get a similar issue (battery drain and phone getting hot) when changing from WiFi to 4g and vice versa, from there on the battery drain will continue until I either logout/login or restart the app. So I meant switching network 'type'.
Author
Owner

@pappz commented on GitHub (Dec 8, 2023):

@Pounii25 Thank you for the tests. You said created a DNS setting "just for my internal domain". Could you give me more details about this setting? I would like to setup something similar.

<!-- gh-comment-id:1846791271 --> @pappz commented on GitHub (Dec 8, 2023): @Pounii25 Thank you for the tests. You said created a DNS setting "just for my internal domain". Could you give me more details about this setting? I would like to setup something similar.
Author
Owner

@Pounii25 commented on GitHub (Dec 8, 2023):

Might be related to my issue here: #1140. Do you know if you're changing networks?

Do you mean If I change the provider 5g antenna during the day?

I get a similar issue (battery drain and phone getting hot) when changing from WiFi to 4g and vice versa, from there on the battery drain will continue until I either logout/login or restart the app. So I meant switching network 'type'.

I didn't note that just because i had battery drain all the time, so i can't tell if also swap network can cause it. But I can tell that I note ( but i'm not sure) when you swap from 4g to wifi not all time the vpn still up and working property, maybe is related to what you're talking.

<!-- gh-comment-id:1847140318 --> @Pounii25 commented on GitHub (Dec 8, 2023): > > > Might be related to my issue here: #1140. Do you know if you're changing networks? > > > > > > Do you mean If I change the provider 5g antenna during the day? > > I get a similar issue (battery drain and phone getting hot) when changing from WiFi to 4g and vice versa, from there on the battery drain will continue until I either logout/login or restart the app. So I meant switching network 'type'. I didn't note that just because i had battery drain all the time, so i can't tell if also swap network can cause it. But I can tell that I note ( but i'm not sure) when you swap from 4g to wifi not all time the vpn still up and working property, maybe is related to what you're talking.
Author
Owner

@Pounii25 commented on GitHub (Dec 8, 2023):

@Pounii25 Thank you for the tests. You said created a DNS setting "just for my internal domain". Could you give me more details about this setting? I would like to setup something similar.

Sure! So, i set the peer in my homelab as routing peer with a specific network range "192.168.8.0/24", then i test with my phone if any call to my internal service ( example 192.168.8.3) was working and it was fine. Then, in my local pi-hole I set some static DNS name for my service (they all point to a reverse proxy for local certificates), in this way i dont have to remember and write every time IP for my service. Last step I set in netbird manager a specific DNS server in my lab, for example 192.168.8.10 and limited it only for a specifi domain, like "private.local". And that is all I've done.

<!-- gh-comment-id:1847149771 --> @Pounii25 commented on GitHub (Dec 8, 2023): > @Pounii25 Thank you for the tests. You said created a DNS setting "just for my internal domain". Could you give me more details about this setting? I would like to setup something similar. Sure! So, i set the peer in my homelab as routing peer with a specific network range "192.168.8.0/24", then i test with my phone if any call to my internal service ( example 192.168.8.3) was working and it was fine. Then, in my local pi-hole I set some static DNS name for my service (they all point to a reverse proxy for local certificates), in this way i dont have to remember and write every time IP for my service. Last step I set in netbird manager a specific DNS server in my lab, for example 192.168.8.10 and limited it only for a specifi domain, like "private.local". And that is all I've done.
Author
Owner

@Pounii25 commented on GitHub (Jan 2, 2024):

an update: I made some change in my host VM where is running my DNS service. Seems like I was creating a loop (even the dns resolution was effectively working fine). I will monitor for a couple of days, just to be sure.

update: ok I think I got the real problem, a brief introduction to my environment: I have like more or less 10 apps selfhosted behind a proxy (caddy). One of them (Home Assistant) is implemented but turned off because non in usage yet ( my desire to do things right led me to implement it completely before I needed it). Here the point: I have the app on the phone, configured to point on my environment. I note thousands of queries for that in 1 day!! I find it interesting that if I don't have Netbird turned on, I don't suffer from battery drain. It makes me think that if there wasn't a proxy involved, there wouldn't be this problem. Interesting as a dynamic, because it is a fairly common pattern in homelabs.

Update: the issue persist.

<!-- gh-comment-id:1874569800 --> @Pounii25 commented on GitHub (Jan 2, 2024): an update: I made some change in my host VM where is running my DNS service. Seems like I was creating a loop (even the dns resolution was effectively working fine). I will monitor for a couple of days, just to be sure. update: ok I think I got the real problem, a brief introduction to my environment: I have like more or less 10 apps selfhosted behind a proxy (caddy). One of them (Home Assistant) is implemented but turned off because non in usage yet ( my desire to do things right led me to implement it completely before I needed it). Here the point: I have the app on the phone, configured to point on my environment. I note thousands of queries for that in 1 day!! I find it interesting that if I don't have Netbird turned on, I don't suffer from battery drain. It makes me think that if there wasn't a proxy involved, there wouldn't be this problem. Interesting as a dynamic, because it is a fairly common pattern in homelabs. Update: the issue persist.
Author
Owner

@j007bond007 commented on GitHub (Jan 17, 2024):

It seems like this could be related to a few things. I've experienced this as well and I have a few suspected causes:

  • Reverse Proxy settings (specifically the time out for either the frontend or the backend... does Netbird send keep-alives of some type?). If the proxy times out, then netbird would need to initiate a reconnect each time possibly reconnecting to every tunnel
  • Switching networks (roaming between wireless APs or between wifi and mobile networks) - this would cause the same disconnection and require netbird to reconnect all peers
  • Power saving mode forcing netbird to lose background data connections to "save power"
<!-- gh-comment-id:1895895447 --> @j007bond007 commented on GitHub (Jan 17, 2024): It seems like this could be related to a few things. I've experienced this as well and I have a few suspected causes: - Reverse Proxy settings (specifically the time out for either the frontend or the backend... does Netbird send keep-alives of some type?). If the proxy times out, then netbird would need to initiate a reconnect each time possibly reconnecting to every tunnel - Switching networks (roaming between wireless APs or between wifi and mobile networks) - this would cause the same disconnection and require netbird to reconnect all peers - Power saving mode forcing netbird to lose background data connections to "save power"
Author
Owner

@markcst commented on GitHub (Dec 29, 2024):

I think this is quite interesting. I'm experiencing an high battery consumption too, and I noticed that (but for the time I'm writing this is only an impression to be verified) it seems to occur when I'm switching from 5G to wifi or vva.
When I switch, I often don't turn off the Netbird connection, I simply switch and most of the time it stays connected to it.

I don't know if this is normal, though.

I have Netbird app on a Pixel 7a with a Allow background usage set to Optimized (not Unrestricted)

<!-- gh-comment-id:2564742612 --> @markcst commented on GitHub (Dec 29, 2024): I think this is quite interesting. I'm experiencing an high battery consumption too, and I noticed that (but for the time I'm writing this is only an impression to be verified) it seems to occur when I'm switching from 5G to wifi or vva. When I switch, I often don't turn off the Netbird connection, I simply switch and most of the time it stays connected to it. I don't know if this is normal, though. I have Netbird app on a Pixel 7a with a Allow background usage set to Optimized (not Unrestricted)
Author
Owner

@jWXZSCsqrpZRSVwauBjn commented on GitHub (Jan 22, 2025):

I'm experiencing the exact same issue. Happens after switching network type. I also have dns enabled for that device.

<!-- gh-comment-id:2607257531 --> @jWXZSCsqrpZRSVwauBjn commented on GitHub (Jan 22, 2025): I'm experiencing the exact same issue. Happens after switching network type. I also have dns enabled for that device.
Author
Owner

@nazarewk commented on GitHub (Mar 17, 2025):

Just to let you know we are working on a "lazy connections" feature which should positively affect both data and battery usage issues.

https://github.com/netbirdio/netbird/pull/3379

<!-- gh-comment-id:2729457429 --> @nazarewk commented on GitHub (Mar 17, 2025): Just to let you know we are working on a "lazy connections" feature which should positively affect both data and battery usage issues. https://github.com/netbirdio/netbird/pull/3379
Author
Owner

@Spiritreader commented on GitHub (May 23, 2025):

@nazarewk @pappz quick question regarding lazy connections and battery usage on android:

https://docs.netbird.io/how-to/lazy-connection

The feature mentions that:

Monitor peer activity and automatically disconnect peers that remain inactive and unreachable for a specified time.

My concern is that this does not reduce battery usage for phones in a meaningful way.
In the following scenario, we have a netbird client on a phone (A), which has lazy connections enabled by default.
Initially, when the netbird client is started on (A), no other clients will be connected due to connections being initialized lazily.
Then, if a resource is accessed on any server that is part of the network (B), a connection will be established.

From this point on, since netbird is a chatty protocol (sending keepalives in a short interval), the phone (A) will no longer be able to enter sleep, because it will maintain the connection to that server forever. The only way that (A) will ever terminate the connection is if, at some point, (B) is unreachable for longer than the configured timeout, which basically never happens unless the node goes offline completely due to network failure etc.

If unreachable is a condition for disconnection:
It would only reduce the amount of traffic if clients other than (A) go offline for more than {$timeout} minutes, instead of reducing active connections back to 0 slowly when no more traffic is flowing on mobile devices.
As such, battery usage goes up the longer the netbird client is running on (A) if it is used to connect to a variety of peers.

<!-- gh-comment-id:2903353788 --> @Spiritreader commented on GitHub (May 23, 2025): @nazarewk @pappz quick question regarding lazy connections and battery usage on android: https://docs.netbird.io/how-to/lazy-connection The feature mentions that: > Monitor peer activity and automatically disconnect peers that remain inactive and **unreachable** for a specified time. My concern is that this does not reduce battery usage for phones in a meaningful way. In the following scenario, we have a netbird client on a phone (A), which has lazy connections enabled by default. Initially, when the netbird client is started on (A), no other clients will be connected due to connections being initialized lazily. Then, if a resource is accessed on any server that is part of the network (B), a connection will be established. From this point on, since netbird is a chatty protocol (sending keepalives in a short interval), the phone (A) will no longer be able to enter sleep, because it will maintain the connection to that server **forever**. The only way that (A) will ever terminate the connection is if, at some point, (B) is unreachable for longer than the configured timeout, which basically never happens unless the node goes offline completely due to network failure etc. If **unreachable** is a condition for disconnection: It would only reduce the amount of traffic if clients other than (A) go offline for more than `{$timeout}` minutes, instead of reducing active connections back to 0 slowly when no more traffic is flowing on mobile devices. As such, battery usage goes up the longer the netbird client is running on (A) if it is used to connect to a variety of peers.
Author
Owner

@maca134 commented on GitHub (May 27, 2025):

This is still happening. New pixel 9 and the battery has been smashed in half a day. Battery info shows netbird consuming the most power.
My phone gets noticeably warm when netbird is running.

<!-- gh-comment-id:2913049575 --> @maca134 commented on GitHub (May 27, 2025): This is still happening. New pixel 9 and the battery has been smashed in half a day. Battery info shows netbird consuming the most power. My phone gets noticeably warm when netbird is running.
Author
Owner

@aws1313 commented on GitHub (Jun 1, 2025):

This is still happening. New pixel 9 and the battery has been smashed in half a day. Battery info shows netbird consuming the most power.
My phone gets noticeably warm when netbird is running.

The android client hasn't been updated yet.
This usually takes a couple of weeks to months longer.
For Pixel Phones: turning off 5G improved the situation quite a bit for me.

<!-- gh-comment-id:2927327051 --> @aws1313 commented on GitHub (Jun 1, 2025): > This is still happening. New pixel 9 and the battery has been smashed in half a day. Battery info shows netbird consuming the most power. > My phone gets noticeably warm when netbird is running. The android client hasn't been updated yet. This usually takes a couple of weeks to months longer. For Pixel Phones: turning off 5G improved the situation quite a bit for me.
Author
Owner

@Nevenit commented on GitHub (Jun 17, 2025):

I was having the same issue, which is what made me switch back to tailscale :/

<!-- gh-comment-id:2982339269 --> @Nevenit commented on GitHub (Jun 17, 2025): I was having the same issue, which is what made me switch back to tailscale :/
Author
Owner

@HammyHavoc commented on GitHub (Jun 17, 2025):

I was having the same issue, which is what made me switch back to tailscale :/

Would be helpful if people can post screenshots of battery use versus other things along with how much data they've used during that period via it. Likewise, what exactly they're doing via it, e.g. gaming, streaming media, remote desktop—anything to get a feel for what they think it otherwise should be. Perhaps also a comparison of with and without NetBird for the same workload (would be a real boon).

I'm not actually seeing anywhere near as much use myself currently (Android 16 on a Pixel 6a), but that could simply be down to less throughput. I'll need to investigate further.

<!-- gh-comment-id:2982352413 --> @HammyHavoc commented on GitHub (Jun 17, 2025): > I was having the same issue, which is what made me switch back to tailscale :/ Would be helpful if people can post screenshots of battery use versus other things along with how much data they've used during that period via it. Likewise, what exactly they're doing via it, e.g. gaming, streaming media, remote desktop—anything to get a feel for what they think it otherwise should be. Perhaps also a comparison of with and without NetBird for the same workload (would be a real boon). I'm not actually seeing anywhere near as much use myself currently (Android 16 on a Pixel 6a), but that could simply be down to less throughput. I'll need to investigate further.
Author
Owner

@Ginner commented on GitHub (Jun 17, 2025):

On my end, it didn't correlate in any way to throughput. I use my phone very little. I could leave netbird off and it would last for a couple of days, turn netbird on and it would get hot to the touch and last for ~7hrs. Just laying on a table connected to which ever network (WiFi/4G). https://github.com/netbirdio/netbird/issues/1140

<!-- gh-comment-id:2982535356 --> @Ginner commented on GitHub (Jun 17, 2025): On my end, it didn't correlate in any way to throughput. I use my phone very little. I could leave netbird off and it would last for a couple of days, turn netbird on and it would get hot to the touch and last for ~7hrs. Just laying on a table connected to which ever network (WiFi/4G). https://github.com/netbirdio/netbird/issues/1140
Author
Owner

@aws1313 commented on GitHub (Jun 18, 2025):

I was having the same issue, which is what made me switch back to tailscale :/

Would be helpful if people can post screenshots of battery use versus other things along with how much data they've used during that period via it. Likewise, what exactly they're doing via it, e.g. gaming, streaming media, remote desktop—anything to get a feel for what they think it otherwise should be. Perhaps also a comparison of with and without NetBird for the same workload (would be a real boon).

I'm not actually seeing anywhere near as much use myself currently (Android 16 on a Pixel 6a), but that could simply be down to less throughput. I'll need to investigate further.

I have basically the same issue @Ginner described. If I turn off wifi and just let my phone sit on the table (locked with screen turned off) for like 5-6 hours it sucks up 40%-50% of my battery and the phone gets hot. I have a Google Pixel 7 which is known for it's inefficient cellular network module. I have the same issue when I use 5G in the basement, I suppose that the data rates get so low that my phone turns on the 5G module 100% of the time which makes the phone getting hot and draining the battery. I think that a similar thing happens in the background with netbird. Even if there is no traffic netbird keeps up the connection with the server which leads to 40mb of data usage without doing anything according to another user. The intervals are probably so short that the 5G module is on most of the time which leads to the described problem.
Switching off 5G helps since both 4G and LTE as well as WiFi are much more energy efficient with the same constant traffic.
I used plain wireguard before and it drained 5% of battery for a whole day cellular on the same phone in the same scenario.
Lazy connections won't help me at all since i need DNS and regular updates for my home assistant instance (i tried battery usage without them, no change) which makes the lazy connection feature not disconnecting since the connected nodes are used to often.
Will try tailscale as well, i don't see the possibility that this issue gets better in the near future, which makes me quite sad. (The problem is known for 2 years!)

Edit: this is my issue. There are people commenting here having the same symptoms caused by other things (switching networks using 4g, ...)

<!-- gh-comment-id:2983179954 --> @aws1313 commented on GitHub (Jun 18, 2025): > > I was having the same issue, which is what made me switch back to tailscale :/ > > Would be helpful if people can post screenshots of battery use versus other things along with how much data they've used during that period via it. Likewise, what exactly they're doing via it, e.g. gaming, streaming media, remote desktop—anything to get a feel for what they think it otherwise should be. Perhaps also a comparison of with and without NetBird for the same workload (would be a real boon). > > > I'm not actually seeing anywhere near as much use myself currently (Android 16 on a Pixel 6a), but that could simply be down to less throughput. I'll need to investigate further. I have basically the same issue @Ginner described. If I turn off wifi and just let my phone sit on the table (locked with screen turned off) for like 5-6 hours it sucks up 40%-50% of my battery and the phone gets hot. I have a Google Pixel 7 which is known for it's inefficient cellular network module. I have the same issue when I use 5G in the basement, I suppose that the data rates get so low that my phone turns on the 5G module 100% of the time which makes the phone getting hot and draining the battery. I think that a similar thing happens in the background with netbird. Even if there is no traffic netbird keeps up the connection with the server which leads to 40mb of data usage without doing anything according to another user. The intervals are probably so short that the 5G module is on most of the time which leads to the described problem. Switching off 5G helps since both 4G and LTE as well as WiFi are much more energy efficient with the same constant traffic. I used plain wireguard before and it drained 5% of battery for a whole day cellular on the same phone in the same scenario. Lazy connections won't help me at all since i need DNS and regular updates for my home assistant instance (i tried battery usage without them, no change) which makes the lazy connection feature not disconnecting since the connected nodes are used to often. Will try tailscale as well, i don't see the possibility that this issue gets better in the near future, which makes me quite sad. (The problem is known for 2 years!) Edit: this is my issue. There are people commenting here having the same symptoms caused by other things (switching networks using 4g, ...)
Author
Owner

@Nevenit commented on GitHub (Jun 24, 2025):

I was having the same issue, which is what made me switch back to tailscale :/

Would be helpful if people can post screenshots of battery use versus other things along with how much data they've used during that period via it. Likewise, what exactly they're doing via it, e.g. gaming, streaming media, remote desktop—anything to get a feel for what they think it otherwise should be. Perhaps also a comparison of with and without NetBird for the same workload (would be a real boon).

I'm not actually seeing anywhere near as much use myself currently (Android 16 on a Pixel 6a), but that could simply be down to less throughput. I'll need to investigate further.

Image

I wasn't even doing anything. I installed it and made sure it worked and barely used my phone for 4 hours, then I noticed that it was very hot and the battery was drained. Been using wireguard for 2 years, no issues. Switched to tailscale now, also no issues. Battery drain when phone is idle sending occasional location updates to home assistant made NetBird unusable for me.
I'm on android 15 (calyxos) google pixel 7

<!-- gh-comment-id:2998855144 --> @Nevenit commented on GitHub (Jun 24, 2025): > > I was having the same issue, which is what made me switch back to tailscale :/ > > Would be helpful if people can post screenshots of battery use versus other things along with how much data they've used during that period via it. Likewise, what exactly they're doing via it, e.g. gaming, streaming media, remote desktop—anything to get a feel for what they think it otherwise should be. Perhaps also a comparison of with and without NetBird for the same workload (would be a real boon). > > I'm not actually seeing anywhere near as much use myself currently (Android 16 on a Pixel 6a), but that could simply be down to less throughput. I'll need to investigate further. ![Image](https://github.com/user-attachments/assets/c1b4f3fd-829e-4cc0-9871-32bb254ff5fe) I wasn't even doing anything. I installed it and made sure it worked and barely used my phone for 4 hours, then I noticed that it was very hot and the battery was drained. Been using wireguard for 2 years, no issues. Switched to tailscale now, also no issues. Battery drain when phone is idle sending occasional location updates to home assistant made NetBird unusable for me. I'm on android 15 (calyxos) google pixel 7
Author
Owner

@stefanvanherwijnen commented on GitHub (Aug 25, 2025):

I didn't notice any problems until I seemed to be on a location with a bad cellular connection. Netbird used 30% of the battery, probably by reconnecting every time.

<!-- gh-comment-id:3219710963 --> @stefanvanherwijnen commented on GitHub (Aug 25, 2025): I didn't notice any problems until I seemed to be on a location with a bad cellular connection. Netbird used 30% of the battery, probably by reconnecting every time.
Author
Owner

@FoxxMD commented on GitHub (Oct 3, 2025):

Chiming in that I have the same issue with the same scenario as most others here:

  • netbird on, phone sitting idle and locked for most of the day, uses >30% battery
    • compared to plain wireguard android client which uses 1-3%
  • i have the same issue with the tailscale client, actually
  • pixel 9a, android 16
  • netbird client v0.1.9, server 0.59.1

I don't think disabling 5g is an appropriate solution...the regular wg client doesn't have these issues regardless of network. Also lazy connections is not feasible since I use nb/wg for always-connected dns (again, not an issue on plain wg)

<!-- gh-comment-id:3365621167 --> @FoxxMD commented on GitHub (Oct 3, 2025): Chiming in that I have the same issue with the same scenario as most others here: * netbird on, phone sitting idle and locked for most of the day, uses >30% battery * compared to plain wireguard android client which uses 1-3% * i have the same issue with the tailscale client, actually * pixel 9a, android 16 * netbird client v0.1.9, server 0.59.1 I don't think disabling 5g is an appropriate solution...the regular wg client doesn't have these issues regardless of network. Also lazy connections is not feasible since I use nb/wg for always-connected dns (again, not an issue on plain wg)
Author
Owner

@Exitium-DEV commented on GitHub (Oct 24, 2025):

Google Pixel 8 pro same issue, insane battery drain - don't have this issue with Tailscale. It's a big blocker for me migrating over

<!-- gh-comment-id:3444763937 --> @Exitium-DEV commented on GitHub (Oct 24, 2025): Google Pixel 8 pro same issue, insane battery drain - don't have this issue with Tailscale. It's a big blocker for me migrating over
Author
Owner

@yanbec commented on GitHub (Nov 12, 2025):

Migrated off NetBird because of this - using my self hosted service outside on my phone is a primary use case. Came to check back if this has improved. I really hope this gets fixed, I liked the rest and love it's still evolving!

<!-- gh-comment-id:3523156654 --> @yanbec commented on GitHub (Nov 12, 2025): Migrated off NetBird because of this - using my self hosted service outside on my phone is a primary use case. Came to check back if this has improved. I really hope this gets fixed, I liked the rest and love it's still evolving!
Author
Owner

@Ginner commented on GitHub (Nov 14, 2025):

I've unfortunately migrated as well. I'm using a Tailscale/Headscale setup and have to report, that while it is better, the issue remains. I get about a days worth of battery, when I'm out and about, on a phone that'd otherwise do a little over 2 days w.o. Tailscale.

I've used nebula in the past, but not on the phone, so cannot report on the battery usage - Their dubious (imo) approach to the licensing of the phone application keeps me off of it.

I truly find Netbird to be the most promising open source overlay network solution and I really hope it is possible to solve this issue.

<!-- gh-comment-id:3531755218 --> @Ginner commented on GitHub (Nov 14, 2025): I've unfortunately migrated as well. I'm using a Tailscale/Headscale setup and have to report, that while it is better, the issue remains. I get about a days worth of battery, when I'm out and about, on a phone that'd otherwise do a little over 2 days w.o. Tailscale. I've used nebula in the past, but not on the phone, so cannot report on the battery usage - Their dubious (imo) approach to the licensing of the phone application keeps me off of it. I truly find Netbird to be the most promising open source overlay network solution and I really hope it is possible to solve this issue.
Author
Owner

@marcschwaiger commented on GitHub (Jan 8, 2026):

Same issue for me too. I'm on a Pixel 10 Pro with selfhosted netbird. I just recently switched from Tailscale to Netbird as Netbird is very promising and more self-hosting friendly. But I'm considering switching back.. I would appreciate a quick tile setting so i can more easily enable it, only when i need it.

<!-- gh-comment-id:3726008716 --> @marcschwaiger commented on GitHub (Jan 8, 2026): Same issue for me too. I'm on a Pixel 10 Pro with selfhosted netbird. I just recently switched from Tailscale to Netbird as Netbird is very promising and more self-hosting friendly. But I'm considering switching back.. I would appreciate a quick tile setting so i can more easily enable it, only when i need it.
Author
Owner

@marcschwaiger commented on GitHub (Jan 10, 2026):

I turned off 'always keep mobile data connected' in developer settings and got much better battery usage at home. When I'm away it still spikes up, I believe that's that inefficient modem getting added to Netbirds usage?

<!-- gh-comment-id:3732878574 --> @marcschwaiger commented on GitHub (Jan 10, 2026): I turned off 'always keep mobile data connected' in developer settings and got much better battery usage at home. When I'm away it still spikes up, I believe that's that inefficient modem getting added to Netbirds usage?
Author
Owner

@marcschwaiger commented on GitHub (Feb 2, 2026):

Fixed the issue, getting solid battery usage now using force relay connection, adding a quic relay and fixing timeouts in my reverse proxy.
I think timeouts were the main problem tho, with the client having to reconnect to the management every minute or so was server draining the battery heavily. The getting startet script does not - and probably can't/shouldn't - configure this automatically, at least for traefik.

<!-- gh-comment-id:3837129399 --> @marcschwaiger commented on GitHub (Feb 2, 2026): Fixed the issue, getting solid battery usage now using force relay connection, adding a quic relay and fixing timeouts in my reverse proxy. I think timeouts were the main problem tho, with the client having to reconnect to the management every minute or so was server draining the battery heavily. The getting startet script does not - and probably can't/shouldn't - configure this automatically, at least for traefik.
Author
Owner

@tvup commented on GitHub (Mar 2, 2026):

The power consumption discussion here resonates with what I've been working on from the server side.

I built idle-less — a Docker reverse proxy with automatic Wake-on-LAN. It addresses the complementary problem: servers in your mesh network sleeping when idle and waking automatically when traffic arrives.

For Netbird deployments: imagine your peer nodes auto-sleeping during off-hours and waking via WoL when a remote user connects through the mesh. The proxy detects inbound traffic, sends the WoL magic packet, shows a status page during the 15-45 sec boot, and forwards traffic once the server is up.

Combined with Netbird's mesh networking, you get energy-efficient remote infrastructure where nodes only run when actually needed.

GitHub: https://github.com/tvup/idle-less
Demo: https://tvup.github.io/idle-less/demo.html

<!-- gh-comment-id:3983159578 --> @tvup commented on GitHub (Mar 2, 2026): The power consumption discussion here resonates with what I've been working on from the server side. I built [idle-less](https://github.com/tvup/idle-less) — a Docker reverse proxy with automatic Wake-on-LAN. It addresses the complementary problem: servers in your mesh network sleeping when idle and waking automatically when traffic arrives. For Netbird deployments: imagine your peer nodes auto-sleeping during off-hours and waking via WoL when a remote user connects through the mesh. The proxy detects inbound traffic, sends the WoL magic packet, shows a status page during the 15-45 sec boot, and forwards traffic once the server is up. Combined with Netbird's mesh networking, you get energy-efficient remote infrastructure where nodes only run when actually needed. GitHub: https://github.com/tvup/idle-less Demo: https://tvup.github.io/idle-less/demo.html
Author
Owner

@marcopaganini commented on GitHub (Apr 7, 2026):

Fixed the issue, getting solid battery usage now using force relay connection, adding a quic relay and fixing timeouts in my reverse proxy. I think timeouts were the main problem tho, with the client having to reconnect to the management every minute or so was server draining the battery heavily. The getting startet script does not - and probably can't/shouldn't - configure this automatically, at least for traefik.

Can you give more details on how you accomplished this? What do you mean by "added a quic relay?"

Also I'm curious about the various reports of proxy changes and all that. I've been capture packets on my peers (on the wt0 interface in linux) and I see very few packets coming from the android client.

<!-- gh-comment-id:4203146555 --> @marcopaganini commented on GitHub (Apr 7, 2026): > Fixed the issue, getting solid battery usage now using force relay connection, adding a quic relay and fixing timeouts in my reverse proxy. I think timeouts were the main problem tho, with the client having to reconnect to the management every minute or so was server draining the battery heavily. The getting startet script does not - and probably can't/shouldn't - configure this automatically, at least for traefik. Can you give more details on how you accomplished this? What do you mean by "added a quic relay?" Also I'm curious about the various reports of proxy changes and all that. I've been capture packets on my peers (on the wt0 interface in linux) and I see very few packets coming from the android client.
Author
Owner

@kittydoor commented on GitHub (Apr 18, 2026):

I'm looking forward to a resolution of this issue. I am committed to deploying and testing out netbird as my primary solution once the mobile user experience is improved. Good luck to the netbird team and any external contributors!

<!-- gh-comment-id:4273993163 --> @kittydoor commented on GitHub (Apr 18, 2026): I'm looking forward to a resolution of this issue. I am committed to deploying and testing out netbird as my primary solution once the mobile user experience is improved. Good luck to the netbird team and any external contributors!
Author
Owner

@dasunsrule32 commented on GitHub (Apr 23, 2026):

Same issue today. I was in and out of the house today and lost 35% of my battery. When I'm on Wi-Fi, it's less pronounced. It's still greater than without Netbird running, but nothing like what I was seeing while out and about.

This is a Pixel 10a on Android 16.

<!-- gh-comment-id:4310496559 --> @dasunsrule32 commented on GitHub (Apr 23, 2026): Same issue today. I was in and out of the house today and lost 35% of my battery. When I'm on Wi-Fi, it's less pronounced. It's still greater than without Netbird running, but nothing like what I was seeing while out and about. This is a Pixel 10a on Android 16.
Author
Owner

@Guylby commented on GitHub (Jul 7, 2026):

Can confirm high usage of battery on my end too
Android 13 Phone with cellular data, even with Lazy Connection ON, Force Relay OFF and a simple setup: only one peer connected, my phone reports 3-4% battery usage per hour even while idling.
With the exact same setup I get >1% battery usage per hour with Tailscale. It's a shame as I much prefer Netbird's interface and config but the battery drain is just way too much for prolonged use with flaky cellular networks.

<!-- gh-comment-id:4901565141 --> @Guylby commented on GitHub (Jul 7, 2026): Can confirm high usage of battery on my end too Android 13 Phone with cellular data, even with Lazy Connection ON, Force Relay OFF and a simple setup: only one peer connected, my phone reports 3-4% battery usage per hour even while idling. With the exact same setup I get >1% battery usage per hour with Tailscale. It's a shame as I much prefer Netbird's interface and config but the battery drain is just way too much for prolonged use with flaky cellular networks.
Author
Owner

@kandrelczyk commented on GitHub (Jul 9, 2026):

Exactly same issue as everyone is describing. Graphene OS on Piexel 8a. The phone is running hot all the time. Interesting thing is I'm getting the same behavior while using JetBird app from F-Droid.

<!-- gh-comment-id:4928686084 --> @kandrelczyk commented on GitHub (Jul 9, 2026): Exactly same issue as everyone is describing. Graphene OS on Piexel 8a. The phone is running hot all the time. Interesting thing is I'm getting the same behavior while using JetBird app from F-Droid.
Author
Owner

@Nordlicht-13 commented on GitHub (Jul 13, 2026):

Same on Pixel 8 with latest GrapheneOS.
Phone is also getting pretty hot when I'm not connected via WiFi.

Image
<!-- gh-comment-id:4959203319 --> @Nordlicht-13 commented on GitHub (Jul 13, 2026): Same on Pixel 8 with latest GrapheneOS. Phone is also getting pretty hot when I'm not connected via WiFi. <img width="1080" height="2118" alt="Image" src="https://github.com/user-attachments/assets/a615b3b2-87fc-4d9a-a79a-0a23bd8f8070" />
Author
Owner

@alvaroemtnez commented on GitHub (Jul 13, 2026):

Same here, Pixel 9 Pro w/GrapheneOS.

I have been using netbird self-hosted for a few days now, still testing but this caught my eye (spent the weekend away and my phone was burning the whole time).

I am testing now if "force relay" makes any difference. Yesterday i was with mobile data and force relay off, and I noticed the problem (most battery draining app in my phone). Today wifi and force relay on and <1%. I'm gonna try now wifi + force relay off for the rest of the day.

Loving absolutely everything else about netbird :)

<!-- gh-comment-id:4959673874 --> @alvaroemtnez commented on GitHub (Jul 13, 2026): Same here, Pixel 9 Pro w/GrapheneOS. I have been using netbird self-hosted for a few days now, still testing but this caught my eye (spent the weekend away and my phone was burning the whole time). I am testing now if "force relay" makes any difference. Yesterday i was with mobile data and force relay off, and I noticed the problem (most battery draining app in my phone). Today wifi and force relay on and <1%. I'm gonna try now wifi + force relay off for the rest of the day. Loving absolutely everything else about netbird :)
Author
Owner

@wneessen commented on GitHub (Jul 15, 2026):

Same issue here. Lazy connections are on, but since my Owntracks commits a GPS entry every 2-3 minutes (when on cellular network and I'm moving), I don't think it changes anything with the connections. In any case, phone gets very warm, when on cellualar network and connected to Netbird. 60%+ battery usage of the app, according to Android's usage information. I'm on the latest GrapheneOS on a Pixel 10. Due to this I am currently only connecting on demand to Netbird when on the road, which is a shame, since without connection Owntracks won't transmit data points which when again doesn't commit them to Home Assistant, leading to "he's out of the appartment" automations not to fire (without me manually starting netbird in between).

<!-- gh-comment-id:4984633473 --> @wneessen commented on GitHub (Jul 15, 2026): Same issue here. Lazy connections are on, but since my Owntracks commits a GPS entry every 2-3 minutes (when on cellular network and I'm moving), I don't think it changes anything with the connections. In any case, phone gets very warm, when on cellualar network and connected to Netbird. 60%+ battery usage of the app, according to Android's usage information. I'm on the latest GrapheneOS on a Pixel 10. Due to this I am currently only connecting on demand to Netbird when on the road, which is a shame, since without connection Owntracks won't transmit data points which when again doesn't commit them to Home Assistant, leading to "he's out of the appartment" automations not to fire (without me manually starting netbird in between).
Author
Owner

@TheOverpassArsonist commented on GitHub (Jul 24, 2026):

I am having the same issue on a Pixel 9 Pro with GrapheneOS.

For my setup I am using netbird as an exit node through a computer running another VPN, Mullvad. (Yes, this configuration works. I know it's janky, but I've used IP checkers and I know it's routing my traffic right)

This gives me an interesting point of comparison though because
A : on my old phone running Mullvad raw, (REALLY old, I think like Android 10) Mullvad would use the lion's share of my battery, 40-60% (thankfully this wasn't a problem because it had a comically large battery)
B : on my Graphene OS Pixel 9 Mullvad is now taking less than 1%
C : on that same Graphene OD Pixel 9, Netbird takes 40-60% when routing my traffic through an exit node (this unfortunately is a problem because the Pixel 9 has a much more normal sized battery)

And this is when I'm primarily just using Netbird as a proxy through another Mullvad computer, so realistically I'd expect the battery usages to be comparable.

It's like there's some VPN optimizations that Mullvad is taking advantage of but Netbird isn't for some reason, because the usage modern netbird is seeing on a modern device matches really closely with what usage I was seeing with Mullvad on an old device. I would tentatively agree that it might have something to do with disconnecting and reconnecting frequently, but that's really just a blind guess.

PS : both Mullvad and Netbird are configured to use their quantum resistant modes, AND I've noticed this same high battery usage on Jetbird, for whatever that is worth.
PPS : I've noticed this pattern consistently whether wifi is off or on, whether I'm using my phone or it's just laying there overnight, etc. If I AM actively using my phone to watch youtube or something then typically the ratio of battery used by netbird goes down a bit (typically closer to 40% instead of 60%) but under the same conditions Mullvad almost always shows like 1%.

<!-- gh-comment-id:5071814196 --> @TheOverpassArsonist commented on GitHub (Jul 24, 2026): I am having the same issue on a Pixel 9 Pro with GrapheneOS. For my setup I am using netbird as an exit node through a computer running another VPN, Mullvad. (Yes, this configuration works. I know it's janky, but I've used IP checkers and I know it's routing my traffic right) This gives me an interesting point of comparison though because A : on my old phone running Mullvad raw, (REALLY old, I think like Android 10) Mullvad would use the lion's share of my battery, 40-60% (thankfully this wasn't a problem because it had a comically large battery) B : on my Graphene OS Pixel 9 Mullvad is now taking less than 1% C : on that same Graphene OD Pixel 9, Netbird takes 40-60% when routing my traffic through an exit node (this unfortunately is a problem because the Pixel 9 has a much more normal sized battery) And this is when I'm primarily just using Netbird as a proxy through another Mullvad computer, so realistically I'd expect the battery usages to be comparable. It's like there's some VPN optimizations that Mullvad is taking advantage of but Netbird isn't for some reason, because the usage modern netbird is seeing on a modern device matches really closely with what usage I was seeing with Mullvad on an old device. I would tentatively agree that it might have something to do with disconnecting and reconnecting frequently, but that's really just a blind guess. PS : both Mullvad and Netbird are configured to use their quantum resistant modes, AND I've noticed this same high battery usage on Jetbird, for whatever that is worth. PPS : I've noticed this pattern consistently whether wifi is off or on, whether I'm using my phone or it's just laying there overnight, etc. If I AM actively using my phone to watch youtube or something then typically the ratio of battery used by netbird goes down a bit (typically closer to 40% instead of 60%) but under the same conditions Mullvad almost always shows like 1%.
Author
Owner

@GraciousGpal commented on GitHub (Jul 29, 2026):

Now that the new app is rolled out, I think this should be a focus. I was shocked when I checked my battery usage this week after switching over to netbird anywhere from 30%-60% battery usage on a S24 Ultra.. where as tailscale and mullvad uses around 1-2 percent. PS Quantum resistance is "turned on (permissive mode)" on all nodes. I turned on lazy connections today, will report back on its effects.

<!-- gh-comment-id:5123343482 --> @GraciousGpal commented on GitHub (Jul 29, 2026): Now that the new app is rolled out, I think this should be a focus. I was shocked when I checked my battery usage this week after switching over to netbird anywhere from 30%-60% battery usage on a S24 Ultra.. where as tailscale and mullvad uses around 1-2 percent. PS Quantum resistance is "turned on (permissive mode)" on all nodes. I turned on lazy connections today, will report back on its effects.
Author
Owner

@Manwe06 commented on GitHub (Aug 4, 2026):

Now that the new app is rolled out, I think this should be a focus. I was shocked when I checked my battery usage this week after switching over to netbird anywhere from 30%-60% battery usage on a S24 Ultra.. where as tailscale and mullvad uses around 1-2 percent. PS Quantum resistance is "turned on (permissive mode)" on all nodes. I turned on lazy connections today, will report back on its effects.

I agree, I came here after posting this on reddit https://www.reddit.com/r/netbird/comments/1vffj0x/real_issue_with_battery_drain_on_android/
This is really something to focus on for the adoption of this amazing app. If devices die out of battery while using it, there is no point. Or we need more diagnostic tools at the user / admin level (outside of logs and cli) to understand what might be sucking battery so much.

<!-- gh-comment-id:5184270239 --> @Manwe06 commented on GitHub (Aug 4, 2026): > Now that the new app is rolled out, I think this should be a focus. I was shocked when I checked my battery usage this week after switching over to netbird anywhere from 30%-60% battery usage on a S24 Ultra.. where as tailscale and mullvad uses around 1-2 percent. PS Quantum resistance is "turned on (permissive mode)" on all nodes. I turned on lazy connections today, will report back on its effects. I agree, I came here after posting this on reddit https://www.reddit.com/r/netbird/comments/1vffj0x/real_issue_with_battery_drain_on_android/ This is really something to focus on for the adoption of this amazing app. If devices die out of battery while using it, there is no point. Or we need more diagnostic tools at the user / admin level (outside of logs and cli) to understand what might be sucking battery so much.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#2172