A completely free, watermark-free live wallpaper engine for macOS.
Wallpaper App is a macOS AppKit desktop utility that plays videos and animated images behind your desktop icons as a live wallpaper.
It includes a floating control center, a status bar menu, launch-at-login support, audio control, battery saver controls, and automatic WEBM -> MP4 conversion for files that macOS cannot play natively.
- Live wallpaper window placed between the system wallpaper and Finder desktop icons
- Hardware-accelerated video playback with
AVFoundationandAVPlayerLayer - Supports multiple displays and all Spaces
- Optional Dock icon or status-bar-only mode
- Launch at login support
- Audio on/off control
- Battery saver controls with optional automatic battery mode
- Automatic restore of the last selected wallpaper
- Animated
GIFandWEBPwallpaper support - Automatic
WEBMimport conversion usingffmpeg
mp4movm4v
gifwebp
webm
WEBM files are converted to an app-managed .mp4 on import, then played with the normal macOS video pipeline.
The main window includes:
Choose Video/Change VideoReveal FileClear WallpaperShow Dock iconStart at loginPlay audioPause on sleep or lockBattery saverAuto-enable on battery
The status item includes quick access to:
- Open Control Center
- Choose Video
- Play Audio
- Battery Saver
- Clear Wallpaper
- Quit
- The wallpaper window is borderless and ignores mouse events
- Playback appears behind desktop icons
- The wallpaper follows Spaces and desktops
- Playback pauses when the display sleeps or the session locks
- Battery saver can pause playback manually or automatically when on battery
Some WEBM files, especially high-resolution VP9 videos such as 3840x2160 @ 60fps, are not playable through macOS AVFoundation.
When a selected file is a WEBM video:
- Wallpaper App checks the file format on import
- If the file is not natively playable, it is converted with
ffmpeg - The converted
.mp4is stored in:
~/Library/Application Support/Wallpaper App/Converted Media/
- The converted file is used for playback automatically
- The original selected file path is still preserved in app state for restore/reimport behavior
Notes:
- Converted files are cached
- Large
4K/60fpsimports can take time - Resolution and frame rate are preserved where possible
- Conversion is still a re-encode, so it is not mathematically lossless
- macOS 14.0 or later
- Xcode
xcodegenffmpegforWEBMimport support
Homebrew install example:
brew install xcodegen ffmpeg- Generate the Xcode project:
xcodegen generate- Open the project:
open "Wallpaper App.xcodeproj"- Build and run the
Wallpaper Appscheme in Xcode.
- Launch the app
- Open the Control Center
- Click
Choose Video - Select a supported file
- The wallpaper starts behind your desktop icons
If you import a large WEBM, the app may show an importing state while conversion finishes.
Wallpaper App supports two startup paths:
SMAppServicewhen installed in a standard app location- LaunchAgent fallback for local development builds
For local builds outside /Applications, launch-at-login uses a LaunchAgent plist in:
~/Library/LaunchAgents/
Sources/
AppDelegate.swift
AppPreferences.swift
ControlWindowController.swift
DebugLog.swift
PowerSourceMonitor.swift
StartupManager.swift
VideoConversionService.swift
WallpaperWindow.swift
Info.plist
project.yml
- UI layer:
AppKit - Video playback:
AVFoundation - Animated images:
ImageIO+ frame-based rendering - Desktop placement:
CGWindowLevelForKey(.desktopIconWindow) - 1 - Mouse passthrough:
ignoresMouseEvents = true - Multi-space persistence:
.canJoinAllSpaces
- Native playback depends on macOS codec support
WEBMplayback is handled through import conversion, not direct playback- Very large conversions can take noticeable time on first import
- Status-bar-only mode is intended for normal use, but Dock mode is easier during debugging
Current app version: 2.0