WiFi Lens
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
Features
Core · OSS & Pro
| 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 |
Available in Pro
| 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 |
When you need Pro
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
Editions
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
Both editions are local-first. Pro extends the workflow from live inspection to monitoring and investigation over time.
AI / MCP Integration
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) |
Investigate problems after they happen
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.
Privacy
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.
Get WiFi Lens
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)
- Homebrew — install with
brew tap ShiinaLabs/apps && brew install --cask ShiinaLabs/apps/wifi-lens - 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.
Development
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:WiFiLensTests
Architecture docs live in docs/.
Contributing
Community
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 · [email protected]
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.
Network Self-Check
Event Timeline (Pro)