A native open-source network diagnostics app for macOS with built-in Wi-Fi analysis.
Diagnose connectivity issues, analyze Wi-Fi channel congestion, and validate roaming behavior — with results processed locally on your Mac.
Open source for live analysis. Pro adds monitoring, history, and insights for problems that happen over time.
Download Open-Source Edition · Get WiFi Lens Pro · Official Website
macOS 14+ · Intel & Apple Silicon · No telemetry
🔒 Local-first privacy — No accounts, no cloud, no telemetry
🩺 Evidence-based diagnostics — Explainable path, DNS, HTTPS, and proxy checks
🤖 MCP for AI workflows — Connect Codex Desktop, Claude Desktop, and other compatible clients to live Wi-Fi data
🇺🇸 English · 🇩🇪 Deutsch · 🇪🇸 Español · 🇫🇷 Français · 🇨🇳 简体中文 · 🇯🇵 日本語
Features · When you need Pro · Editions · AI / MCP · Privacy · Get WiFi Lens · Development · Contributing · License
| Feature | Description | Status |
|---|---|---|
| 📡 Wi-Fi Scanning | Real-time scan across 2.4 / 5 / 6 GHz bands | Stable |
| 📊 Spectrum View | Gaussian channel occupancy charts | Stable |
| 🎯 Channel Quality | Congestion scores with regional recommendations | Stable |
| 🔍 Network Details | PHY generation, channel width, 802.11k/r/v, WPA3 | Stable |
| 📶 Connection Info | IP, gateway, DNS, MAC, Tx rate, security summary | Stable |
| 🚶 Roaming Test | AP handoff monitoring with session save/load | Stable |
| 🗺️ Channel Heatmap | Per-band occupancy heatmap | Stable |
| 🎧 BLE Scanner | Bluetooth LE discovery, RSSI analysis, tracking | Stable |
| 🎨 Smart Coloring | Deterministic SSID-based color assignment | Stable |
| 🌐 MCP Server | Embedded HTTP API for AI tool integration | Stable |
| 📤 Export | Save charts as PNG or CSV | Stable |
| 🔒 Privacy First | No telemetry; scan data stays on your Mac | Stable |
| ⬆️ Auto-Updates | Sparkle (GitHub) or Mac App Store | Stable |
| 🌍 Localized | English, German, Spanish, Japanese, Chinese | Stable |
| 🩺 Network Self-Check | One-click path, DNS, HTTPS, proxy diagnostics | Preview |
| 📻 AP Radar | Track a selected AP with audio pulse feedback | Preview |
| Capability | What it helps you do |
|---|---|
| 📈 Event Timeline (Preview) | Reconstruct when connections roamed, dropped, or changed signal |
| 📋 Statistics (Preview) | Compare Wi-Fi behavior across periods instead of relying on memory |
| 💡 Insights (Preview) | Turn recorded evidence into explainable findings |
| 🎬 Spectrum Recording | Replay spectrum changes after an intermittent problem |
| 📱 Menu Bar | Keep monitoring reachable without opening the main window |
Use Open Source to inspect and diagnose your Wi-Fi right now.
Choose Pro when the problem happens over time:
- Connection drops or slowdowns are intermittent
- You need to reconstruct when roaming or signal changes happened
- You want to compare network behavior across periods
- You want to record spectrum conditions and replay them later
- You want findings that explain recorded evidence
Open Source helps you inspect. Pro helps you monitor and investigate.
Choose based on how you use WiFi Lens:
- Open Source — free, inspect and diagnose your Wi-Fi now, available from GitHub Releases
- WiFi Lens Pro — one-time purchase, monitor and investigate over time, available from Mac App Store
| Capability | Open Source | WiFi Lens Pro |
|---|---|---|
| Live Wi-Fi analysis | ✅ | ✅ |
| Network diagnostics | ✅ | ✅ |
| Channel recommendations | ✅ | ✅ |
| Event history | — | ✅ |
| Historical statistics | — | ✅ |
| Wi-Fi insights | — | ✅ |
| Spectrum recording | — | ✅ |
| Menu bar monitoring | — | ✅ |
Both editions are local-first. Pro extends the workflow from live inspection to monitoring and investigation over time.
WiFi Lens includes an embedded MCP server that lets AI assistants read your local Wi-Fi data. Enable it in Settings, then choose Copy AI setup prompt and paste the prompt into an MCP-compatible desktop client such as Codex Desktop or Claude Desktop.
{
"mcpServers": {
"wifi-lens": {
"url": "http://127.0.0.1:19840"
}
}
}For manual setup, use the format your client expects:
# Codex: ~/.codex/config.toml
[mcp_servers.wifi-lens]
url = "http://127.0.0.1:19840/"// Claude Desktop and other JSON-based clients
{
"mcpServers": {
"wifi-lens": {
"url": "http://127.0.0.1:19840/"
}
}
}Once connected, ask your assistant things like "What channels are congested near me?" or "Which nearby networks support WPA3?". The server binds to 127.0.0.1 only — nothing leaves your machine unless you deliberately route it elsewhere.
See the AI Workflows guide for more examples.
Network Self-Check |
Event Timeline (Pro) |
Some Wi-Fi problems disappear before you can inspect them. WiFi Lens Pro records connection events and network conditions over time, so you can review what happened after a drop, roam, or signal change.
WiFi Lens does not collect usage analytics, crash telemetry, or Wi-Fi scan data.
- Location Services: macOS requires this permission to expose Wi-Fi SSID names. WiFi Lens does not read GPS position.
- Region detection: Uses system locale, hardware-reported channel list, and nearby AP country codes on-device.
- Network Self-Check: Resolves public endpoints (
www.apple.com,www.msftconnecttest.com) and may test reachability of configured proxy endpoints. - MCP server: Binds to
127.0.0.1only. Local tools access data only after you enable it. - Update checks: The GitHub edition contacts GitHub when you request an update check or enable automatic checks.
📋 Security Policy · 📝 Changelog · ❓ FAQ · 🌐 Full privacy policy
Requires macOS 14 (Sonoma) or later. Works on both Intel and Apple Silicon. 6 GHz scanning requires Wi-Fi 6E/7 hardware.
- Open-source edition — GitHub Releases (free, Sparkle auto-updates)
- WiFi Lens Pro — Mac App Store for monitoring, recording, and investigating problems over time
Important
On macOS 14+, Location Services must be enabled for the app to read Wi-Fi SSID names. Go to System Settings → Privacy & Security → Location Services and enable WiFi Lens when prompted.
git clone https://github.com/SHIINASAMA/wifi-lens
cd wifi-lens
git submodule update --init ChartLens
cd WiFiLens
# Build
xcodebuild -project WiFiLens.xcodeproj -scheme "WiFi Lens" \
-configuration Debug -destination 'platform=macOS' build
# Run unit tests
xcodebuild -project WiFiLens.xcodeproj -scheme "WiFi Lens" \
-configuration Debug -destination 'platform=macOS' \
-skipPackageUpdates test -only-testing:WiFiLensTestsArchitecture docs live in docs/.
Have a question, found a bug, or want to share an idea?
Join Rabbit Hole, a small community for WiFiLens and other projects.
Bug reports and feature ideas are welcome. See Contributing Guidelines for setup, PR conventions, and localization requirements. Substantial contributors may receive a Pro promo code — see Contributor Recognition.
Contact: @WiFiLens on X · wifi-lens@shiinalabs.com
Forked from tiny-wifi-analyzer. MAC vendor data from the IEEE Registration Authority — see Third-Party Notices.
Apache License 2.0 © 2020 nolze, 2026 SHIINASAMA — see LICENSE.


