openRemote is a free, open source menu bar app for macOS that turns your Mac into a remote control for your LG TV running webOS. Power, volume, apps, HDMI inputs, a touchpad, and a keyboard — one click away in the menu bar, no browser, no cloud, no accounts. Independent of LG Electronics.
| Home | Remote | Apps |
|---|---|---|
![]() |
![]() |
![]() |
| Inputs | Cast | Activity |
|---|---|---|
![]() |
![]() |
![]() |
- One-click menu bar panel — your LG webOS TV's status, volume, and controls live in the macOS menu bar.
- Power, volume, channels — turn the TV on or off, set volume with the slider or steppers, step channels, and mute from the keyboard without ever hunting for the physical remote.
- Touchpad remote + keyboard — D-pad with OK, Home, Back, settings, media keys, a virtual keyboard, and a mouse pointer you can drive with your Mac's cursor.
- Launch and favorite apps — search your TV's installed apps, launch Netflix, YouTube, and more with one tap, and pin favorites to the home tab.
- HDMI input switcher — jump between HDMI 1–4, AV, and other sources; see what is active on each port.
- Cast files to the TV — send an MP4 (H.264), MP3, or JPEG straight from your Mac to the TV's native YouTube-like player, plus a shortcut to macOS Screen Mirroring (AirPlay).
- Wake over Wi-Fi — Wake-on-LAN support for TVs that allow it, so the TV can be seen in the panel even when it is off.
- Local screen time — a private usage journal of the apps and inputs the TV reports while your Mac is connected. Stored on your Mac, never uploaded.
- A Mac running macOS 14 (Sonoma) or later.
- An LG TV with webOS on the same Wi-Fi or Ethernet network.
- No TV IP needed upfront — the app discovers TVs on your network, or you can enter an IPv4 address manually.
Tested on webOS 5.0 (OLED C2). Other webOS versions and models should work but are not verified — if something breaks, report it with your TV model and webOS version.
Download the latest openRemote-1.0.0.dmg from the project's GitHub Releases, open it, and drag openRemote to your Applications folder. Build it yourself instead? See Building from source.
- Launch openRemote — a small TV icon appears in the menu bar.
- Open the panel and go to Settings (gear icon).
- Choose Find TVs on your network, or type your TV's IP address (IPv4, e.g.
192.168.1.42). - Optionally name the TV and add its MAC address for wake support.
- Press Save and connect, approve the certificate prompt on your Mac, then accept the pairing request shown on the TV screen.
That's it — the remote is ready. If macOS asks for Local Network access, allow it.
The app is written entirely in Swift (SwiftUI for the interface, AppKit for the menu bar pane), talking to the TV over the webOS SSAP protocol on secure WebSockets. No third-party Swift dependencies.
git clone https://github.com/Harshsanket/open-remote.git
cd open-remote
bash scripts/build.sh # builds dist/openRemote.app
open dist/openRemote.appTo cut a release package:
bash scripts/package.sh # produces Release/openRemote-1.0.0.dmg and .zipXcode Command Line Tools (Swift 5.9+) are required: xcode-select --install.
openRemote has no analytics, no cloud, no accounts. TV control, discovery, casting, and screen time all stay on your local network and in your Mac's Keychain and preferences. You can verify with:
python3 scripts/privacy-check.py # scans the repo for leaked addresses/keys
"dist/openRemote.app/Contents/MacOS/openRemote" --self-check # offline test suiteFound a problem on your TV? Open an issue with your macOS version, TV model, webOS version, and steps to reproduce.
- Gabriel Greco — this project builds on the excellent groundwork of Gabriel's LGwebOS-menubar, the original macOS menu bar remote for LG webOS TVs.
- GLM 5.3 by Z.ai — the LLM behind this app's code and interface design, driven freeform in the terminal.
MIT — see LICENSE.
a Harsh Sanket production





