Start in three steps
- Launch Luxel and find it in the menu bar.
- Grant only the permissions needed for the capture you are about to make.
- Pick a target, record, then open the result in the editor or Finder.
Luxel Docs
Luxel is a Mac menu bar recorder for screen capture, area capture, replay buffer clips, audio-only recordings, camera preview overlays, local transcripts, command-line automation, quick exports, and editor-based exports.
Use the menu bar for interactive recording, global shortcuts for repeated actions, Replay Buffer for the moments that already happened, and the luxel command for scripted captures.
Setup
Current builds require macOS 26.0 or later. Luxel runs from the menu bar, so the menu bar item is the main place to start captures and open settings.
Privacy
Luxel requests permissions only when a feature needs them. Permission chips appear in the menu when a required permission is missing.
After changing Screen & System Audio Recording access, quit and reopen Luxel. If macOS keeps prompting, make sure you are opening the same copy of Luxel each time.
Model
Luxel lives in the menu bar. The panel contains target selection, capture buttons, audio toggles, permission status, recent files, replay controls, and settings access.
A target can be a display, an app window, or a selected area. Active-window and fullscreen commands resolve their target at the moment capture starts.
New recordings default to ~/Movies/Luxel. You can choose a different folder in Output settings.
Standard video recordings open in the editor after capture. Audio-only recordings can open in the editor for playback, transcript review, and audio export. Quick exports can finish directly to a file or post-action.
Export presets can turn a capture into GIF, MP4, HEVC MP4, ProRes MOV, or APNG output without manually opening every export control.
Replay Buffer is an opt-in rolling capture mode. It keeps recent screen history available so you can export the last selected duration as a normal MP4 recording.
Luxel transcribes audio on your Mac. Transcripts can stay in the editor workflow or be written from the CLI as text or JSON.
The menu shows the latest recording and a Recent menu for opening clips in the editor or revealing them in Finder.
Guide
Audio-only recordings do not support pause and resume.
Audio-only files use the .m4a extension.
The floating preview appears in the recording when it overlaps the capture target.
The area picker supports countdown presets of Off, 3 seconds, 5 seconds, and 10 seconds. Stop-after presets include Off, 10 seconds, 30 seconds, 1 minute, 5 minutes, and a custom duration from 0:01 to 12:00:00.
Stopping during countdown cancels the countdown instead of saving a recording.
Guide
Replay Buffer continuously keeps recent screen history available while it is active. It is opt-in, visible in the menu bar, and uses the same Screen & System Audio Recording permission as normal screen capture.
luxel clip for the same action.Luxel Replay 2026-07-01 at 14.30.00.mp4.If you clip before enough history exists, Luxel saves the available portion rather than inventing missing time.
Area Picker
Click Area to open the full-screen selection overlay. Drag to draw a region, resize it with handles, or use Full Display to select the display. The minimum selection is 32 by 32 pixels.
Size presets include 1280 by 720, 1920 by 1080, and 800 by 600. Aspect ratio choices include Free, 16:9, 4:3, 1:1, 9:16, and 21:9.
| Input | Action |
|---|---|
| Esc | Cancel area selection. |
| ⌘Z | Undo a selection edit. |
| ⌘⇧Z | Redo a selection edit. |
| ⌥click | Use the active quick recording preset when one is available. |
Guide
After a standard video recording stops, Luxel opens the editor with a preview, source filename, duration, dimensions, audio status, alpha status, estimated file size, Save Original, and Export controls.
Rename the source file in place, move to newer or older recordings in the same folder, or open an existing media file with luxel editor <file>.
| Format | Notes |
|---|---|
| MP4 (H.264) | Most-compatible video export with Compact, Balanced, or High quality. |
| MP4 (HEVC) | Smaller-file HEVC export with Compact, Balanced, or High quality. |
| MOV (ProRes 422) | Editing and mastering export with fixed High quality and LPCM audio. |
| MOV (ProRes 4444) | High-fidelity ProRes export with fixed High quality and LPCM audio. |
| GIF | Animated image export. Audio is dropped. Supports loop and dithering options. |
| APNG | Lossless animated PNG export. Audio is dropped. |
| WebM (VP9) | WebM export with Compact, Balanced, or High quality. |
| MP4 (AV1) | AV1 MP4 export with AAC audio through the bundled SVT-AV1 encoder. |
The format menu can select multiple formats and shows size estimates when Luxel can calculate them. MP4, MOV, WebM, and AV1 exports use even pixel dimensions.
GIF and APNG always drop audio.
During export, Luxel shows progress and lets you cancel. After export, actions include Open, Reveal in Finder, Save a Copy, Open With, Copy File, Copy Path, and Share. Multi-format export creates a batch folder named after the source recording.
Copy Frame and Save Frame As use the current paused frame and save PNG output.
Guide
Luxel uses local transcription for recordings with audio. Use the editor for review workflows or the CLI when you need transcript files in scripts.
luxel transcribe demo.m4a > demo.txt
luxel transcribe demo.mp4 --output demo.json --json --overwrite
luxel transcribe demo.mp4 --locale en_US --semantic-turnsPlain text is printed to stdout by default. Use --json for full turn-segmented transcript data.
Workflows
luxel clip --seconds 30 --wait.luxel convert demo.mp4 demo.webm --width 1280 --height 720.luxel convert demo.mp4 demo-av1.mp4 --format av1 when you want MP4 AV1.luxel transcribe demo.mp4 --output demo.txt.--json when another tool needs structured output.Reference
Open Settings > Shortcuts to enable, search, edit, reset, or clear shortcuts. Custom shortcuts must use one key plus at least one modifier.
| Command | Default shortcut | Result |
|---|---|---|
| Select Area | ⌘⌃⌥R | Open the area picker for recording. |
| Toggle Recording | ⌘⌃⌥T | Stop an active recording, or start from the default target. |
| Record Active Window | ⌘⌃⌥⇧W | Record the current active window. |
| Record Fullscreen | ⌘⌃⌥⇧F | Record the main display. |
| Audio Only | ⌘⌃⌥A | Start an audio-only recording. |
| Quick Record Last | ⌘⌃⌥Q | Use the remembered last capture with the quick preset. |
| Clip Replay Buffer | ⌘⌃⌥C | Save the recent replay buffer when it is active. |
Luxel warns about duplicate shortcuts and known macOS capture shortcuts.
Reference
Use luxel when you want captures in scripts, shell aliases, launchers, media processing, or repeatable workflows.
Open Settings > Command Line to install the bundled command. Luxel creates a symbolic link named luxel, defaulting to ~/.local/bin/luxel, and links the bundled manual page under share/man/man1/luxel.1 relative to the install root.
Use Repair after replacing or moving the app so the installed command points at the current signed Luxel app bundle. Use Copy PATH Command for zsh, bash, fish, or POSIX sh profile setup.
luxel --version
luxel record --display main --fps display --countdown 3
luxel record --active-window --fps 120
luxel record --active-window --preset "Default" --save-to ~/Movies/Luxel
luxel toggle --last-area
luxel stop
luxel clip --seconds 30 --wait
luxel latest --reveal
luxel preferences
luxel record --last-area --print-url
luxel editor ~/Movies/demo.mp4
luxel convert demo.mp4 demo.webm
luxel convert demo.mp4 demo-av1.mp4 --format av1
luxel convert demo.mp4 demo.gif --start 2 --duration 5 --fps 15 --width 800 --height 450
luxel convert demo.mp4 demo.mov --format prores422 --quality high
luxel export request.json output.webm --overwrite --json
luxel transcribe demo.m4a > demo.txt
luxel transcribe demo.mp4 --output demo.json --json --overwrite

luxel --help screen.| Command | What it does |
|---|---|
luxel --version | Print the Luxel CLI version. |
luxel record | Start a recording from a display, active window, or last selected area. |
luxel stop | Stop the active recording. |
luxel toggle | Stop the active recording, or start one when a target is provided. |
luxel clip | Clip the replay buffer. |
luxel latest | Open the latest recording, or reveal it in Finder. |
luxel editor <file> | Open a media file in Luxel's editor. |
luxel convert <input> <output> | Convert or edit media from the command line. |
luxel export <request-json> <output> | Export from a Luxel export request JSON file. |
luxel transcribe <file> | Transcribe a media or audio file locally. |
luxel preferences | Open Luxel settings. |
record requires exactly one target: --display, --active-window, or --last-area.record --fps and toggle --fps accept a whole number from 1 to 120 or display to follow the screen refresh rate.toggle stops an active recording when no target is passed. When starting, target-related options require a target.clip uses the configured replay buffer length unless --seconds is passed.latest --reveal reveals the latest recording in Finder instead of opening it.preferences opens Luxel settings. --pane accepts general, presets, shortcuts, updates, or about as a URL hint; current builds open Settings normally.convert infers format from the output extension, but .mov requires --format prores422 or --format prores4444, .m4a requires --format m4a or --format alac, and MP4 AV1 requires --format av1.export accepts a Luxel export request JSON document for fields without dedicated flags.| Option | Meaning |
|---|---|
--display <target> | Record a display. Use main or pass a display identifier. |
--active-window | Record the active window. |
--last-area | Record the last selected area. |
--preset <name> | Use a Luxel export preset for quick recording. |
--fps <1-120|display> | Use a fixed recording frame rate or match the display refresh rate. |
--countdown <seconds> | Wait 0 to 60 seconds before capture starts. |
--save-to <directory> | Save the recording in a specific directory. |
--seconds <seconds> | Clip a specific replay buffer duration with luxel clip. |
| Option | Meaning |
|---|---|
--format <format> | Use gif, hevc, mp4, av1, webm, apng, prores422, prores4444, m4a, alac, wav, caf, or flac. |
--width <pixels> --height <pixels> | Resize the export. Use both options together. |
--fps <frames> | Set the output frame rate. |
--start <seconds> --end <seconds> | Trim to an explicit time range. |
--start <seconds> --duration <seconds> | Trim to a duration from a start time. |
--speed <value> | Set playback speed from 0.1 to 10. |
--mute | Export without audio. |
--crop-to-fill | Fill the output size by cropping. |
--crop <x,y,width,height> | Use an explicit crop rectangle. |
--quality <quality> | Use compact, balanced, high, or lossless when available for the format. |
--overwrite | Replace an existing output file. |
--json | Print a JSON result instead of the output path. |
--quiet | Suppress terminal progress output. |
| Option | Meaning |
|---|---|
--locale <identifier> | Transcribe with a specific locale. Defaults to the current locale. |
--output <file> | Write transcript output to a file instead of stdout. |
--semantic-turns | Use automatic turn grouping. |
--json | Print full transcript JSON instead of plain text. |
--overwrite | Replace the transcript output file if it already exists. |
| Option | Meaning |
|---|---|
--wait | Wait for Luxel to call back with the command result. |
--json | Wait for the result and print JSON. |
--timeout <seconds> | Set callback wait time. The default is 120 seconds. |
--print-url, --dry-run | Print the Luxel automation URL instead of opening it. |
--x-success <url> | Callback URL for successful execution. File results append filePath; recording starts append recordingID. |
--x-error <url> | Callback URL for failed execution. Failures append errorMessage. |
--help | Show help for the current command. |
Successful file results append filePath. Recording starts append recordingID. Failures append errorMessage. Use --wait for a plain result line, --json for structured callback output, and --timeout to control how long the command waits.
Reference
The editor exposes video and animation formats for screen recordings, plus audio-only formats when the source is audio. The CLI exposes the same conversion options for scripts.
| Format | Codec or container | Notes |
|---|---|---|
| MP4 | H.264 video | Most-compatible video export. Supports Compact, Balanced, and High quality. |
| HEVC MP4 | HEVC video | Smaller video export. Supports Compact, Balanced, and High quality. |
| ProRes 422 MOV | Apple ProRes 422 | Editing and mastering export with fixed High quality and LPCM audio. |
| ProRes 4444 MOV | Apple ProRes 4444 | High-fidelity ProRes export with fixed High quality and LPCM audio. |
| GIF | Animated image | Drops audio. Supports loop and animation-focused export controls. |
| APNG | Animated PNG | Lossless animated image export. Drops audio. |
| WebM | VP9 WebM | WebM export. Supports Compact, Balanced, and High quality. |
| MP4 (AV1) | AV1 video with AAC audio | AV1 MP4 export through the bundled SVT-AV1 encoder. |
| M4A | AAC audio | Audio-only editor export and CLI conversion format. |
| ALAC M4A | Apple Lossless audio | Lossless audio-only editor export and CLI conversion format. |
| WAV | PCM audio | Uncompressed audio-only editor export and CLI conversion format. |
| CAF | Core Audio Format | Apple audio-only editor export and CLI conversion format. |
| FLAC | Free Lossless Audio Codec | Lossless audio-only editor export and CLI conversion format. |
GIF and APNG drop audio. MP4, MOV, WebM, and AV1 exports use even pixel dimensions. ProRes exports use MOV output. WebM exports use VP9. AV1 exports use MP4 output.
Reference
Luxel registers the luxel:// URL scheme. Starting captures and clipping the replay buffer can require confirmation unless a caller has been granted access; commands like stop, preferences, and latest are allowed by default.
luxel://record?target=display&display=main&fps=display&countdown=3
luxel://record?target=activeWindow&preset=Default
luxel://toggle
luxel://stop
luxel://clip?seconds=30
luxel://preferences
luxel://latest?reveal=trueAutomation commands accept x-success and x-error callback URLs. Successful file-producing commands append filePath, recording starts append recordingID, and failures append errorMessage.
Use luxel record --last-area --print-url to inspect the URL the CLI would open.
Luxel includes App Shortcuts for Start Recording, Stop Recording, Toggle Recording, Clip Replay Buffer, and Get Latest Recording. Start and Toggle can accept target, preset, and countdown values; Clip Replay Buffer can accept seconds; Get Latest Recording can reveal the file in Finder. Shortcut phrases include "Start a recording with Luxel", "Stop Luxel", "Toggle Luxel", "Clip replay buffer with Luxel", and "Show my latest Luxel recording".
Reference
| Pane | What it controls |
|---|---|
| Recording | Cursor visibility, click highlights, 1-120 FPS or display-matched capture, system audio, microphone audio, audio-only format, microphone selection, camera preview, shape, size, and mirroring. |
| Output | Recordings folder, loop exports, transcript turn segmentation, and whether Luxel asks before discarding a recording. |
| Presets | Quick export presets, cropper size presets, loupe behavior, dimming, and last-selection restoration. |
| Shortcuts | Global shortcut enablement, shortcut search, custom shortcut editing, reset/clear controls, and conflict warnings. |
| Notch | Built-in notch controls, idle quick actions, recording waveform, auto-collapse timing, and floating HUD fallback. |
| Replay Buffer | Enablement, buffer length, display-with-cursor source, frame rate, system audio, resume on launch, and clip destination. |
| Command Line | Install or repair the bundled luxel command, choose an install location, choose a shell, and copy a PATH setup command. |
| System | Menu bar timer, notification reminders, launch at login, update settings, and acknowledgements. |
Export presets can be added, duplicated, deleted, renamed, and assigned as the Quick Recording preset. Presets support format, size rule, frame rate, destination, and post-action. Preset destinations are Recordings Folder or Clipboard. Quick presets expose GIF, MP4, HEVC MP4, ProRes 422 MOV, ProRes 4444 MOV, and APNG; WebM and AV1 remain available from editor and CLI export.
Replay Buffer settings control the enable toggle, clip length, 24 or 30 FPS, system audio inclusion, Resume on Launch, and whether clips open in the editor or quick export destination.
Command Line settings install, repair, or move the bundled luxel command and copy a PATH setup command for the selected shell.
System settings cover the menu bar timer, notification reminders, launch at login, updates, and acknowledgements.
Reference
Luxel is available in multiple languages across the app interface and system permission descriptions.
Luxel includes localized descriptions for camera, microphone, screen capture, and speech recognition access. These prompts explain that Luxel uses each permission only when the matching feature is enabled or a recording starts.
The app follows the current macOS language settings automatically.
Help
Make sure you are opening the same copy of Luxel each time. After changing Screen & System Audio Recording access, quit and reopen Luxel.
Choose a capture target and resolve the visible permission chips. Screen capture needs Screen & System Audio Recording permission; audio-only capture needs microphone permission.
Quit and reopen Luxel after changing Screen & System Audio Recording access. If Luxel still is not listed, remove old Luxel entries from the permission list and open Luxel again.
Enable Record Microphone, choose a valid microphone or System Default, and grant Microphone permission. GIF and APNG exports do not carry audio.
Create or select a quick export preset, then choose a target or enable Remember Last Capture so Luxel has a previous capture to repeat.
Pause preview playback first. Frame grabs use the current paused frame and save as PNG.
Make sure Keyboard Shortcuts is enabled, remove duplicate shortcuts, and avoid known macOS capture shortcuts, including:
Luxel uses the built-in notch when a notched display is detected and the Notch setting is enabled. Otherwise it falls back to the floating HUD if that fallback is enabled, or to menu-bar-only status.
Enable Replay Buffer, grant Screen & System Audio Recording permission, and make sure a normal recording is not already active. Luxel pauses the buffer while regular recordings run.
The buffer can only export captured history that already exists. Wait until the menu reports that replay buffering is active before clipping the full selected duration.
Open Settings > Command Line, install or repair the command, then copy the PATH command for your shell if the install directory is not already on PATH.
Confirm speech recognition is available and authorized, then retry. The transcribe command uses local transcription, the selected locale, and the same speech recognition availability as the app.
Help
By default, recordings are saved in ~/Movies/Luxel. Change the folder in Settings > Output.
No. GIF and APNG are animated image formats in Luxel and drop audio. Use MP4, HEVC MP4, ProRes MOV, WebM, or AV1 when audio is required.
Choose a camera in Recording settings or the area picker. Luxel shows a floating camera preview that can appear in the captured area. You can choose circle or rounded-rectangle shape, small/medium/large size, and mirror behavior.
Yes. Audio-only recordings are saved as .m4a with AAC or ALAC. The editor and CLI can export audio-only sources as M4A, ALAC M4A, WAV, CAF, or FLAC.
Yes. Use the luxel command for shell workflows, or use the luxel:// URL scheme from apps that can open URLs.
No. Replay Buffer is off until you enable it. While active, it is visible in the menu bar and can be stopped from the same controls.
Yes. Quick exports and replay clip destinations can finish directly, and luxel convert, luxel export, and luxel transcribe run from the command line without opening the editor.
Luxel includes English, German, Spanish, French, Italian, Japanese, Korean, Vietnamese, Simplified Chinese, Portuguese (Brazil), and Portuguese (Portugal).