Skip to content

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.

Downloads Latest release macOS License Swift CI Discord

WiFi Lens showing Wi-Fi spectrum analysis on macOS

Download Open-Source Edition  ·  Get WiFi Lens Pro  ·  Official Website

Download on the Mac App Store

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

Open Source helps you inspect. Pro helps you monitor and investigate.


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


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 diagnostics viewNetwork Self-Check Event Timeline showing connection historyEvent 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.

Get WiFi Lens Pro →


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.1 only. 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


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 editionGitHub Releases (free, Sparkle auto-updates)
  • WiFi Lens ProMac App Store for monitoring, recording, and investigating problems over time

Download on the Mac App Store

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

About

Native open-source network diagnostics app for macOS with built-in Wi-Fi analysis.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

103 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages