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 and channel overlap

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

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.
  • 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 frequency ranges 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.
  • 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:

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 ./' | 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.

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. Release tags skip the Flatpak job because the manifest points to the latest released, version-pinned source. Download the artifact from the package workflow 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.31

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.31
File Size Uploaded Provenance Actions
wifi_analyzer-0.1.31.tar.gz 1.5 MB With provenance Details for wifi_analyzer-0.1.31.tar.gz

Built distribution (wheel)

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

Total release size: 1.5 MB

Release files / wifi_analyzer-0.1.31.tar.gz

Download URL wifi_analyzer-0.1.31.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
97c87032c7fef9e202bf7d7da7b36792ac664ec650fd043b3ac10e28fc5e7e43
BLAKE2b-256 checksum
How to use checksums
44395f4b7256040ccb61310421191522fcb97363cff86e636944364005863cde
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.31-py3-none-any.whl

Download URL wifi_analyzer-0.1.31-py3-none-any.whl
Size 47.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
81755358bda4ea7a556a20fa2f98ddaa7a22f0dd3899fdd1fba68b2857e55f92
BLAKE2b-256 checksum
How to use checksums
48fc18a27015325c9713b25125a0819a32b1c91cc6faa4a7bee4c5db761b2e88
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.31

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