WiFi Analyzer
Wi-Fi signal analyzer, channel planner and local connection diagnostics tool.
Built with GTK4/Adwaita. Part of the Danne L10n Suite.
Example networks shown; the app displays scan results from the local device.
Fictional local measurements shown; the text list complements the chart for screen-reader users.
Features
- Scan access points through NetworkManager D-Bus only after selecting Scan; no privileged shell command is required.
- Prefer the adapter with an active NetworkManager connection when the computer has multiple Wi-Fi devices. Active-link width and Wi-Fi generation are read from that interface.
- Filter results by network name, BSSID, channel or security type.
- Show cautious security advice for open, Enhanced Open, or older security modes on the connected network.
- Inspect 2.4, 5 and 6 GHz bands with a channel-overlap graph.
- Navigate the channel graph with Left/Right and Home/End, filter channels with Enter/Space, and hear channel selections read by screen readers.
- Show NetworkManager's announced AP bandwidth when available, with a clearly marked estimate as a fallback.
- Mark 5 GHz DFS channels. Their availability depends on the local regulatory domain.
- Estimate channel overlap from access points visible in a scan. The score does not measure client traffic or hidden networks.
- Exclude channels outside the locally reported regulatory ranges and channels marked
NO-IR, passive-scan or no-beaconing from recommendations when that information is available. - Sort results by signal, channel, or security and group repeated SSIDs by access-point count.
- Export visible, filtered results as CSV, JSON, anonymized JSON or an HTML diagnostic report, with a user-selected file name and destination.
- Escape formula-like untrusted text in CSV exports so nearby network names are not interpreted as spreadsheet formulas.
- Keep up to 100 local scan summaries for future history views. Scan data never leaves the device and can be cleared from the menu.
- Review local signal history with an accessible chart summary and a newest-first text list of measurements.
- Mark the active access point and use the actual channel width reported by
iwfor that radio when available. - Identify Wi-Fi 4, 5, 6/6E and 7 for the active link from
iwPHY markers. A generation is never guessed for an unconnected AP. - Compare consecutive scans to identify new, missing, or materially changed access points.
- Create a self-contained HTML diagnostic report or an anonymized JSON export that omits SSIDs, BSSIDs and connection-specific fields. Radio measurements remain and can still reveal a location; review the file before sharing it.
- Select an access point to identify the strongest overlapping neighbours.
- Show the active connection's gateway and DNS servers from local system diagnostics.
- Use optional 60-second monitoring and location profiles for private local scan history.
Installation
PyPI (Debian/Ubuntu)
GTK, libadwaita, PyGObject and Pycairo use native system libraries, so install them from your distribution before installing the Python package:
sudo apt install python3-gi python3-gi-cairo python3-cairo gir1.2-gtk-4.0 gir1.2-adw-1 network-manager iw pipx
pipx install --system-site-packages wifi-analyzer
Debian/Ubuntu
wifi-analyzer is distributed through the Danne L10n Suite APT repository, not the default Debian or Ubuntu repositories. Add the repository before installing:
APT metadata now uses the replacement signing key with fingerprint
C7982569D1DCC5468A072D94D7B45ED27B9EBB63. The previous key is retired. Verify the downloaded key with
gpg --show-keys --with-fingerprint /tmp/yeager-repo-key.asc and confirm its
fingerprint before installing it. Existing users must install the new key
before running sudo apt update.
wget -qO /tmp/yeager-repo-key.asc https://yeager.github.io/debian-repo/yeager-repo-key.asc
sudo install -m 0644 /tmp/yeager-repo-key.asc /usr/share/keyrings/yeager-repo.asc
echo 'deb [signed-by=/usr/share/keyrings/yeager-repo.asc] https://yeager.github.io/debian-repo stable main' | sudo tee /etc/apt/sources.list.d/yeager.list
sudo apt update
sudo apt install wifi-analyzer
If APT still cannot find the package, check that the repository appears in
apt update and run apt-cache policy wifi-analyzer. The signed APT index may
lag behind the latest release. To install the current version, download the
.deb from GitHub Releases
and install the downloaded file with sudo apt install ./wifi-analyzer_*.deb.
Source packages follow Debian policy and can be built with:
dpkg-buildpackage -us -uc -b
Fedora/RPM distributions
The release includes an RPM built on Fedora 44. Download it from
GitHub Releases
and install it on Fedora 44 with sudo dnf install ./wifi-analyzer-*.rpm.
The iw utility is recommended for extra radio-link and regulatory details;
basic access-point scanning uses NetworkManager and does not require iw.
Build the source RPM with:
rpmbuild -ba packaging/rpm/wifi-analyzer.spec
GitHub Actions builds both .deb and .rpm artifacts for releases and pull
requests.
Translations
The user interface ships gettext catalogues for 21 locales. Swedish is
complete and reviewed; other catalogues may be partial, and untranslated
strings fall back to English.
See po/README.md to contribute or validate a translation.
The Swedish manual page is installed as wifi-analyzer(1) and is maintained in
docs/man/sv.
Flatpak
The Flatpak package is built from
flatpak/io.github.yeager.wifi-analyzer.json.
GitHub Actions builds an installable .flatpak bundle for pull requests and
pushes to main. For a version release, the workflow creates a temporary
manifest pinned to that exact release tag and includes the bundle alongside the
DEB and RPM files on GitHub Releases.
Download the .flatpak file and install it like this:
flatpak remote-add --user --if-not-exists flathub \
https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install --user ./io.github.yeager.wifi-analyzer.flatpak
License
GPL-3.0
Author
Daniel Nylander — danielnylander.se
Metadata
Release files for wifi-analyzer 0.1.37
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| wifi_analyzer-0.1.37.tar.gz | 1.6 MB | With provenance | Details for wifi_analyzer-0.1.37.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| wifi_analyzer-0.1.37-py3-none-any.whl | Python 3 | none | any | Details for wifi_analyzer-0.1.37-py3-none-any.whl |
Total release size: 1.6 MB
Release files / wifi_analyzer-0.1.37.tar.gz
| Download URL | wifi_analyzer-0.1.37.tar.gz |
|---|---|
| Size | 1.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2f4557a2b0a0c89de7bebc9e86f339ff8af3afb88b3ca11c453e9ef36f10f852
|
|
BLAKE2b-256 checksum How to use checksums |
d49504a18e4270ade08f279e2462f9903027150cf3e69bf6104f8ef44622d06a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.
Transparency logRelease files / wifi_analyzer-0.1.37-py3-none-any.whl
| Download URL | wifi_analyzer-0.1.37-py3-none-any.whl |
|---|---|
| Size | 52.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
04962a635fb9461d20532fae9117669b2b0da6a0c39f08bb33e39a2c1e44812b
|
|
BLAKE2b-256 checksum How to use checksums |
d47ac9ba87c9b2106c2c89305ed2fc82bb2a42c6fd6ae990c36dbaa7b73c107d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.
Transparency logSecurity for wifi-analyzer 0.1.37
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for wifi_analyzer-0.1.37.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.