# WiGLE Wireless Wardriving: an Android client for logging observed RF signals

> WiGLE Wireless Wardriving is the Android client from the WiGLE.net project for geolocated detection and logging of WiFi, Bluetooth and cellular signals, with export to CSV, KML, SQLite and GPX. It is a measurement tool for the WiGLE.net open database, not a way to reach networks you do not own.

**wiglenet/wigle-wifi-wardriving** — Nethugging client for Android, from wigle.net

- Repository: https://github.com/wiglenet/wigle-wifi-wardriving
- Website: https://wigle.net
- Stars: 985 · Forks: 280
- Language: Java
- License: BSD-3-Clause
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/wiglenet-wigle-wifi-wardriving

## What the client actually records

The README describes the client as a network stumbling client for Android from wigle.net, and the more precise sentence comes later: it provides geolocated detection and logging for WiFi, Bluetooth and cellular signals using Android devices.

Three signal types, one location model. That combination is what distinguishes it from a WiFi scanner app, which typically lists nearby access points and stops there. Here, every observation is tied to a position, which is what makes the accumulated database useful to the WiGLE.net project and to anyone analysing wireless coverage afterwards.

The feature list describes the workflow. You view and map local RF signals including WiFi, Bluetooth and Cell. You accumulate a database of wireless signal observations. You search and export that observed data. And you can register for proximity notifications based on the basis MAC, the OUI, or Bluetooth LE manufacturer IDs, which is a way of being told when a specific network or a device from a specific manufacturer comes into range.

There is also a site survey mode described as per-BSSID, meaning the survey is anchored to individual base station identifiers rather than to an access point name, and a routing benefit the README claims by accumulating observations: improving your wardriving routing and coverage.

## The project is explicit about what it is not for

The README has a section titled What WiGLE Wireless Wardriving is NOT, and it is short enough to quote in full, which is unusual and worth honouring.

First, it is not a free WiFi finder. The reasoning given is that WiGLE is a map of all WiFi, free or otherwise, which is a different product: a searchable map of observed infrastructure rather than a nearby-networks list for joining.

Second, it is not a tool for accessing networks without authorization. The README states plainly that the project does not condone or facilitate unauthorized access and asks users to follow all local ordinances with stumbling. That is the ethical line of a project whose users walk around with a phone logging other people's access points.

Third, it is not a personal safety tool. The README is careful here: WiGLE informs you about the network landscape where you are, and nothing more.

For an engineer evaluating the software, these disclaimers matter because they tell you what the code is built to do. There is no password testing, no association to foreign networks, no traffic capture. The output is a geolocated list of what is in the air, which is exactly what a wireless measurement database needs and exactly what an intrusion tool does not do.

## WiFi scan throttling is the real obstacle on modern Android

The Device Support section contains the most operationally important detail in the whole README, and it is not about the app.

Android 9 fundamentally throttled WiFi scanning, and the README states there was no reliable remediation, pointing to the project forums for possible fixes. From Android 10 onwards, disabling WiFi scan throttling was added to the Developer Options settings menu, and the README instructs users on a modern Android OS to use those options to disable WiFi Scan Throttling to maximize the effectiveness of the application.

That single toggle decides whether your collected data is dense or sparse. A throttled scanner returns a fraction of the beacons present, so the observations you log and upload will understate the true density of wireless infrastructure in the area you drove. The failure mode is quiet: the app still works, the map still fills in, and the result is simply less complete than the ground truth.

The supported range runs from Nougat, which is Android 7 and API 24, up to Android 16 and API 36. Android 7 is the floor because, as of January 2023, the application supports SDK 24 and up. For older versions the README points to the 2.67 release tag to build your own copy or side-load the compiled artifact from that tag.

## Older builds fail certificate transparency checks

The README carries a warning that deserves to be read as a hard constraint rather than a footnote: older releases will fail certificate transparency checks for calls to WiGLE.net's API.

Certificate transparency is the mechanism by which certificates for a domain are logged publicly, so a client that enforces it can refuse a certificate that the server's chain suggests is valid but that is not in the logs. The practical effect is that an old build of this client talking to the WiGLE.net API will fail, and the failure is a trust error rather than a data problem, which makes it easy to misdiagnose.

This creates a coupling between the app version and the service. A build from before 2023 may still install and may still record observations locally, but its API calls will be rejected. It also means that the fix for an old phone is not simply to find an old APK: you need a build new enough for the current server, and if the device cannot run that build, the API path is closed.

Combined with the scan throttling issue, these are the two facts that decide whether a particular device is usable for collection, and neither of them is visible from the application's feature list.

## Export formats decide what you can do with the data later

The Data Export section lists the output formats, and the choice is wide enough that the export, not the collection, is often the point.

CSV is available for the current run, the full database, and previous runs for WiGLE.net uploaders. KML, the Google Earth format, is available in the same three scopes. GPX carries route data for the current and previous routes. SQLite produces a full database export that contains a network summary table, an observation location table and an optional route table, which is the format to keep if you intend to query the observations yourself. The Magic Eight Ball networkless geolocation artifacts are listed too, linking to the separate m8b project.

The division of scopes is worth understanding. A current-run export is what you gathered this session. The full database export is everything accumulated on the device. Previous runs are available specifically to WiGLE.net uploaders, which implies the app retains prior sessions so that observations can be uploaded later, possibly when a data connection becomes available.

For research use, the SQLite export is the meaningful one, because it separates networks from observations and from routes, which means you can ask how many distinct networks were seen at a given point rather than just how many rows you logged.

## Account integration turns a logger into a participant

Integrating with a WiGLE.net account adds competition, statistics, and online aggregation and visualization, along with your standings and accomplishments as reported by the WiGLE.net server.

That is a meaningful difference from a purely local tool. A device that accumulates observations and uploads them becomes a contributor to a shared database, and the feedback loop of standings and statistics is what keeps contributors returning. The data export formats also line up with this: previous runs are available for WiGLE.net uploaders, which only makes sense if uploading is a normal part of the workflow.

For a team doing wireless measurement, the trade-off is that the raw observation database stays on the device, but the aggregated view of the wider network landscape comes from the server. The export section exists precisely so that you can keep your own copy.

The proximity notification feature is the other piece that goes beyond logging. Registering on the basis MAC, the OUI, or Bluetooth LE manufacturer IDs means the app can tell you when a specific device or network appears, which is useful for site survey work where you are looking for one particular thing rather than building a general picture.

## Device coverage is a policy decision, not an accident

The Issues and feature requests section contains a statement of priorities that explains a lot about the codebase. The project states that it is primarily a data collection tool, that it aims to support the widest range of devices possible, and that advanced visualization and data management feature requests which would limit low-end device support will probably not be prioritized.

That is a deliberate constraint. A richer map layer or a heavier database engine would raise the minimum device class, and the maintainers have decided that coverage of old hardware is worth more than features. The same reasoning explains the support policy for forks and ports of Android to non-standard devices: the team receives bug reports from them but cannot address or test all possible variations, and asks that people debug their own device or submit a pull request.

The repository layout is consistent with a Gradle Android application. It has build.gradle, gradle.properties, settings.gradle, the gradlew wrapper and a gradlew.bat, a lib directory, an wiglewifiwardriving application directory, a descriptions directory, an etc directory with an eula.html, and a TODO file. The gradlew wrapper is there so that a build does not depend on the Gradle version installed on the machine.

The contribution guidelines are short and contain one rule that matters more than the others: exporting data must be the result of a direct, intentional user action, or go through the Android Broadcast Intent system. The README asks contributors not to send data off-device without user permission.

## Where to get it, and what the licence allows

The application is published on Google Play under the package name net.wigle.wigleandroid, and it is also listed in the Amazon App Store. A F-Droid build exists as an externally maintained build of the foss-main branch, which is a separate line from the default branch and is the version without the proprietary store distribution.

The licence is BSD-3-Clause, with the LICENSE file at the repository root. That is a permissive licence with the three-clause structure, so redistribution and commercial use are permitted provided the copyright notice and the disclaimer are kept, and, unlike the GPL family, it carries no copyleft obligation on the applications you build with it.

Two practical notes for anyone picking this up. There are, in the README's own words, no official how-to guides, and it suggests a YouTube search for tutorials. The structured documentation lives on wigle.net instead: the application FAQ, the Projecteral FAQ, and an app settings reference whose Settings elements can be rolled over for detail.

The repository also carries a CHANGELOG, a CONTRIBUTING.md, a TODO file and an import-summary.txt, and the project is maintained by the WiGLE.net team. The last push was on 2026-10-09, and the most recent builds are the foss line, with foss-2.108 dated 2026-04-11, foss-2.107 from 2026-04-06 and foss-2.104 from 2026-02-26.

## Conclusion

Take this client if you already have a WiGLE.net account and want to contribute observations of wireless infrastructure to the open database, or you need a way to turn a drive-by collection into structured data you control. Leave it if you are looking for a WiFi finder for arbitrary networks, for anything involving access you are not authorised to perform, or if you cannot meet the Android 7 minimum and the certificate transparency problem that affects the older builds. Verify first that your device runs Android 7 to Android 16 as the README states, that you have turned off WiFi scan throttling in the Developer Options because Android 9 throttled scanning, and that you read the export formats list before a long run, since the SQLite export with its network, location and optional route tables is the one to keep.

## FAQ

### What Android versions does the WiGLE Wireless Wardriving client support?

The README states that Android versions from Nougat, which is Android 7 or API 24, up to Android 16 or API 36 are supported. Support for SDK 24 and up began in January 2023, and older releases can be built from the 2.67 tag.

### Why does the WiGLE app return so few networks on a modern phone?

Android 9 fundamentally throttled WiFi scanning with no reliable remediation. From Android 10 onwards you can disable WiFi scan throttling in the Developer Options menu, which the README asks you to do to maximize the effectiveness of the application.

### Which export formats does the WiGLE client support?

The README lists CSV, KML, a SQLite database export containing network summary, observation location and optional route tables, GPX route data, and Magic Eight Ball networkless geolocation artifacts. CSV, KML and SQLite cover the current run, the full database and previous runs for WiGLE.net uploaders.

### Where can I get the WiGLE Wireless Wardriving app?

It is published on Google Play under net.wigle.wigleandroid and in the Amazon App Store. A F-Droid build exists as an externally maintained build of the foss-main branch.

### Is WiGLE Wireless Wardriving a tool for accessing other people's WiFi networks?

No. The README states explicitly that it is not a tool for accessing networks without authorization and that the project does not condone or facilitate unauthorized access. It also says it is not a free WiFi finder and not a personal safety tool.

## Sources

- [License: BSD-3-Clause](https://github.com/wiglenet/wigle-wifi-wardriving/blob/main/LICENSE)
- [Project website](https://wigle.net)
- [README](https://github.com/wiglenet/wigle-wifi-wardriving/blob/main/README.md)
- [Releases](https://github.com/wiglenet/wigle-wifi-wardriving/releases)
- [wiglenet/wigle-wifi-wardriving on GitHub](https://github.com/wiglenet/wigle-wifi-wardriving)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/wiglenet-wigle-wifi-wardriving
