SHIINASAMA/wifi-lens

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

104

stars

779

commits

Swift

primary language

Sep 10, 2026

updated

wifi-lens.shiinalabs.com
bluetooth-le
corewlan
macos
macos-app
network-analysis
network-diagnostics
network-monitoring
swift
swiftui
wifi
wifi-analyzer
wifi-calling
wifi-scanner
wireless-network
Browse cluster: Swift macOS Application Development

README

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.

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

FeatureDescriptionStatus
📡 Wi-Fi ScanningReal-time scan across 2.4 / 5 / 6 GHz bandsStable
📊 Spectrum ViewGaussian channel occupancy chartsStable
🎯 Channel QualityCongestion scores with regional recommendationsStable
🔍 Network DetailsPHY generation, channel width, 802.11k/r/v, WPA3Stable
📶 Connection InfoIP, gateway, DNS, MAC, Tx rate, security summaryStable
🚶 Roaming TestAP handoff monitoring with session save/loadStable
🗺️ Channel HeatmapPer-band occupancy heatmapStable
🎧 BLE ScannerBluetooth LE discovery, RSSI analysis, trackingStable
🎨 Smart ColoringDeterministic SSID-based color assignmentStable
🌐 MCP ServerEmbedded HTTP API for AI tool integrationStable
📤 ExportSave charts as PNG or CSVStable
🔒 Privacy FirstNo telemetry; scan data stays on your MacStable
⬆️ Auto-UpdatesSparkle (GitHub) or Mac App StoreStable
🌍 LocalizedEnglish, German, Spanish, Japanese, ChineseStable
🩺 Network Self-CheckOne-click path, DNS, HTTPS, proxy diagnosticsPreview
📻 AP RadarTrack a selected AP with audio pulse feedbackPreview

Available in Pro

CapabilityWhat 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 RecordingReplay spectrum changes after an intermittent problem
📱 Menu BarKeep 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
CapabilityOpen SourceWiFi 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-CheckEvent 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.

Contributors

SHIINASAMA

640 commits

nolze

99 commits

dependabot[bot]

32 commits

riddlemd

3 commits

SHIINASAMA/wifi-lens

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

104

stars

779

commits

Swift

primary language

Sep 10, 2026

updated

wifi-lens.shiinalabs.com
bluetooth-le
corewlan
macos
macos-app
network-analysis
network-diagnostics
network-monitoring
swift
swiftui
wifi
wifi-analyzer
wifi-calling
wifi-scanner
wireless-network
Browse cluster: Swift macOS Application Development

README

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.

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

FeatureDescriptionStatus
📡 Wi-Fi ScanningReal-time scan across 2.4 / 5 / 6 GHz bandsStable
📊 Spectrum ViewGaussian channel occupancy chartsStable
🎯 Channel QualityCongestion scores with regional recommendationsStable
🔍 Network DetailsPHY generation, channel width, 802.11k/r/v, WPA3Stable
📶 Connection InfoIP, gateway, DNS, MAC, Tx rate, security summaryStable
🚶 Roaming TestAP handoff monitoring with session save/loadStable
🗺️ Channel HeatmapPer-band occupancy heatmapStable
🎧 BLE ScannerBluetooth LE discovery, RSSI analysis, trackingStable
🎨 Smart ColoringDeterministic SSID-based color assignmentStable
🌐 MCP ServerEmbedded HTTP API for AI tool integrationStable
📤 ExportSave charts as PNG or CSVStable
🔒 Privacy FirstNo telemetry; scan data stays on your MacStable
⬆️ Auto-UpdatesSparkle (GitHub) or Mac App StoreStable
🌍 LocalizedEnglish, German, Spanish, Japanese, ChineseStable
🩺 Network Self-CheckOne-click path, DNS, HTTPS, proxy diagnosticsPreview
📻 AP RadarTrack a selected AP with audio pulse feedbackPreview

Available in Pro

CapabilityWhat 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 RecordingReplay spectrum changes after an intermittent problem
📱 Menu BarKeep 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
CapabilityOpen SourceWiFi 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-CheckEvent 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.

Contributors

SHIINASAMA

640 commits

nolze

99 commits

dependabot[bot]

32 commits

riddlemd

3 commits

Languages

Swift

96.3%

Python

2.0%

HTML

1.1%