GeGeek

I don’t reinvent the wheel, I just link to it.

GeGeekSoftware

WiFi Analyze

WiFi Analyze

πŸ“‘ WiFi Analyze: A Free Windows Tool for Understanding Your Wireless Network

 

πŸ’‘ Introduction

Most people treat WiFi like electricity they expect it to work, and when it doesn’t, they have no idea why. The router gets unplugged and plugged back in, the ISP gets blamed, and nothing actually changes.

I built WiFi Analyze because I was frustrated with that. I wanted a tool that didn’t just show me “connected” or “not connected” I wanted to see *why* a connection was dropping, *which* channel was congested, *where* in my house the signal died, and *what* my actual connection quality looked like over time. Commercial tools exist but most are overpriced, outdated, or buried under unnecessary complexity.

WiFi Analyze is free, requires no installation, runs on Windows 10 and 11, and was built entirely from scratch in Cusing WPF on .NET 8.

🎯 Who is this for?

WiFi Analyze is useful at multiple levels:

– 🏠 **Home users** who want to understand why their WiFi is slow in certain rooms, or why video calls keep dropping
– πŸ–₯️ **IT professionals and network engineers** who need quick diagnostics on a client’s network without pulling out commercial gear
– 🏒 **Small business owners** who manage their own network and want visibility without paying for enterprise software
– πŸ”¬ **Enthusiasts** who simply want to know what’s happening on their wireless environment

It is not a replacement for hardware tools like a Wireshark capture or a managed switch console but for wireless diagnostics at the access point and client level, it covers most real-world scenarios.

 

πŸ”¨ Why I Built It

The trigger was a simple problem: I had two access points on the same SSID (common in mesh/dual-band setups), and my laptop kept refusing to roam to the stronger one even when I moved rooms. Windows was sticky it stayed on the original AP even when the signal was -80 dBm and a -50 dBm AP was sitting nearby.

I wanted a tool that would tell me:
1. ❓ What signal am I actually connected to right now, including the exact BSSID?
2. ❓ Is there a stronger AP available that I should be on?
3. ❓ What channel is everything on, and is there interference?

One thing led to another. Channel analysis needed a graph. The graph needed zoom. The zoom needed pan. The pan needed better label rendering. Before long I had a full diagnostic suite.

The entire application uses `netsh wlan` under the hood for WiFi scanning no third-party WiFi libraries, no driver-level access, no elevated privileges required. This keeps it compatible with every Windows 10/11 machine without any setup.

 

πŸ—‚οΈ Feature Overview

πŸ“Ά Connected Tab

The entry point to the application. Shows your currently active connection with:

– πŸ”΅ **Signal ring** a circular gauge showing signal quality as a percentage (0–100%), color-coded from red (weak) through to green (excellent)
– πŸ“Š **dBm bar** raw signal in decibel-milliliters. Closer to 0 is stronger. Below -80 dBm is unreliable for most use cases
– πŸ”— **Network details** SSID, BSSID (the exact access point MAC address), channel, frequency, and 802.11 protocol (ax/ac/n)
– 🌐 **IP details** private IPv4, subnet mask, and public IPv4 fetched live from ipify.org

⏱️ The page auto-refreshes every 5 seconds.

πŸ“Š Analyze Tab

The core diagnostic screen. Renders a real-time **Gaussian channel overlap graph** showing every visible access point as a bell curve. Overlapping curves indicate channel interference networks competing for the same radio frequency.

πŸŽ›οΈ Key features:

– πŸ“» Band selector (All / 2.4 GHz / 5 GHz / 6 GHz)
– πŸ” Mouse wheel zoom scroll to zoom into a congested area of the graph
– πŸ‘† Click and drag to pan when zoomed
– 🏷️ SSID labels with dBm values at each peak, toggle to show BSSID instead
– πŸ‘οΈ Show/hide labels toggle

🧰 Analysis Tools panel (right side):

– βœ… **Recommended Channel** – calculates the least-congested non-overlapping channel for the selected band. For 2.4 GHz this is always 1, 6, or 11. For 5 GHz it picks from the standard non-overlapping set (36, 40, 44, 48, 149–161)
– πŸ“ˆ **Channel Usage** bar chart showing how many networks are on each channel, color-coded by congestion level
– ⚠️ **Interference Warnings** flags channels with overlapping neighbors and highlights crowded channels (3+ networks)
– πŸ“‹ **Network Summary** total count, your connected network, signal quality, how many others share your channel

There is also a πŸ“– **”How to change your channel”** button that opens a step-by-step guide directly in the Help tab.

 

πŸ“‘ Networks Tab

A live-updating list of all visible WiFi networks sorted by signal strength. Key features:

– πŸ”Ž Real-time search by SSID
– πŸ”€ Sort by signal, channel, or name
– πŸ“Ά Signal bar per network with dBm badge
– 🏷️ Protocol badge (802.11ax, ac, n)
– 🟒 **Roaming detection** if any non-flagged network is more than 6 dBm stronger than your current connection, a green banner appears at the top recommending you switch. This directly addresses the sticky client problem in dual-band and mesh setups
– 🚩 **Flag button** mark a network as “not mine” to exclude it from roaming recommendations. Useful when your neighbor’s router keeps triggering alerts

 

πŸ” Properties Tab

Three sub-sections accessible from a left nav panel:

1. πŸ”Œ **Device & Connection** SSID, BSSID, protocol, channel, band, exact frequency in GHz
2. πŸ”’ **Status & Security** RSSI, signal quality %, authentication (WPA2/WPA3/Open), encryption cipher
3. 🌐 **IP Information** private IPv4, subnet, gateway, DNS servers, public IPv4

Band and channel detection uses `netsh wlan show interfaces` directly, which gives the authoritative connected BSSID and channel rather than inferring it from a scan. This means dual-band routers with the same SSID on both bands will correctly show 5 GHz when you are connected to the 5 GHz radio.

⚑ Speed Test Tab

Runs a three-stage test against Cloudflare’s public speed endpoints no account or API key required:

1. πŸ“ **Ping** 10 measurements, reports average and jitter
2. ⬇️ **Download** 10 MB test, reports Mbps
3. ⬆️ **Upload** 2 MB test, reports Mbps

Results are displayed on a circular arc gauge. A history of the last 5 test results is kept for comparison.

πŸ—ΊοΈ Signal Map Tab

One of the more unique features. Lets you physically walk around your home or office and record signal strength at different locations, building a color-coded heat map of your wireless coverage.

**🚢 How it works:**
1. πŸ“ Choose a grid size (6Γ—5 up to 12Γ—10) representing your physical space
2. πŸ–±οΈ Click one or more cells to select them click again to deselect
3. 🚢 Walk to the corresponding physical location and press **Scan Selected Cell**
4. 🎨 The live signal is recorded and the cell turns green, yellow, orange, or red
5. πŸ€– Or use **Scan All Cells** to scan every zone automatically in sequence

The result shows you exactly where your dead zones are, making it straightforward to decide where to place a router, extender, or mesh node.

> πŸ’‘ **Tip:** Placing a WiFi extender in a red zone (weak signal) is ineffective. Mid-strength yellow zones are the correct placement for best coverage improvement.

🩺 Diagnostics Tab

The most data-dense tab in the application. Runs continuously in the background once opened.

πŸ“ˆ **Live Traffic Graph** samples download and upload speed from the wireless adapter every second and renders a 60-second rolling line graph. Shows current speed, session totals, and peak speeds.

πŸ“‰ **Ping Stability Graph** pings a configurable server (Cloudflare 1.1.1.1 by default) every 2 seconds. Plots round-trip time as a line graph with a configurable latency threshold shown as a dashed orange line.

🌐 **DNS Response Time Graph** measures how long it takes to resolve a hostname every 3 seconds. Slow DNS (above 50ms) is a common but invisible cause of websites feeling sluggish even when ping looks fine.

πŸ† **Connection Quality Score** a 0–100 composite score calculated from:
– πŸ“ Ping average (40% weight)
– 🌐 DNS response time (20% weight)
– πŸ“¦ Packet loss percentage (40% weight)

Graded **Excellent / Good / Fair / Poor / Very Poor**.

πŸ”Œ **Network Adapter Stats** adapter name, negotiated link speed (useful for identifying whether your adapter actually connected at the speed your router supports), total bytes received and sent since Windows booted.

βš™οΈ **Alert Settings** configurable thresholds for:
– πŸ“Ά Signal strength drops (dBm threshold)
– 🐒 High latency (ms threshold)
– ❌ Connection drops (ping timeouts)
– πŸ“¦ Packet loss above 5%
– 🎯 Choice of ping target server

⏱️ **Uptime Timer** start a monitoring session and the timer tracks how long your connection stays up. The moment a drop is detected, it automatically saves a **professionally formatted HTML report** to `Documents\WiFi Analyze\` containing:
– πŸ• Session start, end, and exact duration
– 🎯 The ping target used
– πŸ“‹ A complete timestamped event log
– 🎨 Status-coded colour scheme (green = clean session, red = connection lost)

The report auto-opens in your browser immediately so you can document and share connection issues with your ISP.

❓ Help Tab

A full reference guide covering every feature in the application, with a dedicated πŸ”§ **”How to Change Your WiFi Channel”** section that walks through the complete process step by step finding your router admin page, logging in, locating the wireless settings, changing and saving the channel, and verifying the change worked in WiFi Analyze.

The guide can be exported as a πŸ“„ **formatted HTML document** suitable for printing or sharing useful for IT professionals handing off instructions to a client.

ℹ️ About Tab

Lists the app version, full feature set, and an honest technical credits section including the things that were genuinely hard to build hand-rolled Gaussian curve rendering, correct `CancellationTokenSource` usage, zero-framework MVVM, and a netsh BSSID parser that took three attempts to get right.

πŸ› οΈ Technical Notes

|—|—|
| πŸ”· **Framework** | C12 / .NET 8 / WPF |
| πŸ“‘ **Scanning** | `netsh wlan` no third-party WiFi libraries |
| πŸ”“ **Privileges** | Runs as a standard user no admin required |
| πŸ“¦ **Distribution** | Self-contained, no installer, copy anywhere |
| 🎨 **Themes** | Full dark and light mode with live switching |
| πŸ“¦ **NuGet** | CommunityToolkit.Mvvm 8.2.6 |
| πŸ–₯️ **Target** | Windows 10 and 11, x64 |

 

⬇️ Download

πŸŽ‰ **WiFi Analyze is completely free. No registration, no telemetry, no ads.**

⬇️ Download WiFi Analyze Free for Windows 10/11

Extract the zip and run `WiFiAnalyze.exe`. No installation required.

 




🌐 Built by GeGeek