Skip to main content

WiFi Analyzer logo

WiFi Analyzer

Wi-Fi signal analyzer, channel planner and local connection diagnostics tool.

Built with GTK4/Adwaita. Part of the Danne L10n Suite.

WiFi Analyzer displaying fictional example networks, channel overlap and security advice

Example networks shown; the app displays scan results from the local device.

Signal history with a chart and a recent measurements list

Fictional local measurements shown; the text list complements the chart for screen-reader users.

Features

  • Scan access points through NetworkManager D-Bus; 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 iw for that radio when available.
  • Identify Wi-Fi 4, 5, 6/6E and 7 for the active link from iw PHY 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:

The APT signing key was rotated on 2026-10-30. Its primary fingerprint is 497A39BE28C8389ED4BBAE39CB94F175B0803158. After downloading the key, compare its primary fingerprint from gpg --show-keys --with-fingerprint /tmp/yeager-repo-key.asc with the value above. Existing users must replace their key file 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.35

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wifi-analyzer 0.1.35
File Size Uploaded Provenance Actions
wifi_analyzer-0.1.35.tar.gz 1.6 MB With provenance Details for wifi_analyzer-0.1.35.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for wifi-analyzer 0.1.35
File Interpreter ABI Platform Actions
wifi_analyzer-0.1.35-py3-none-any.whl Python 3 none any Details for wifi_analyzer-0.1.35-py3-none-any.whl

Total release size: 1.6 MB

Release files / wifi_analyzer-0.1.35.tar.gz

Download URL wifi_analyzer-0.1.35.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
1e0b341f0ae6be6c2f9199f29d951b02774b526c8c3b146f6bcdd0468d5a5f8a
BLAKE2b-256 checksum
How to use checksums
afb2bc4f0e546b3c91e92420a4e47b3f97d3805420d01354ab359709e02f5e0e
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 30, 2026.

Transparency log

Release files / wifi_analyzer-0.1.35-py3-none-any.whl

Download URL wifi_analyzer-0.1.35-py3-none-any.whl
Size 52.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
869a1bf35c466dc1bfb3d50d45193b4fd92a77ca6c83ebc3c1d544f11ec835f7
BLAKE2b-256 checksum
How to use checksums
519f428c6e6e0bac71d03dbb976f4567430a211eb77ee826ec33c02413971b5b
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 30, 2026.

Transparency log

Security for wifi-analyzer 0.1.35

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.

Select from 2 files

Attestation for wifi_analyzer-0.1.35.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 30, 2026.

Transparency log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page