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
Luxel requires 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. Local speaker identification can diarize conversations, match Known Speakers, and label transcript turns. 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
This optional feature listens for sustained speech-like audio on the selected microphone and asks whether you want to start an audio-only recording. It is off by default and does not identify meetings, calls, speakers, words, or meaning.
Turn on Launch at Login if you want the feature available after you sign in. Detection works only while Luxel is open.
When Luxel detects a cue, the notification offers Start Recording and Dismiss. Start Recording begins one audio-only recording with the selected microphone. Dismiss does nothing, and opening the notification activates Luxel without recording.
Focus modes and other macOS notification settings may delay or hide the prompt. A prompt is a convenience, not a guarantee that Luxel recognizes a conversation.
While the feature is enabled, Luxel continuously analyzes short microphone frames on your Mac. Before you explicitly choose Start Recording, those frames are discarded and Luxel creates no pre-roll, media file, history item, transcript, sidecar, or cloud upload.
The detector looks only for sustained speech-like sound. It does not inspect app state or decide whether you are in a meeting or call.
Luxel pauses microphone analysis while a recording is active and while your Mac is locked or its display is asleep. Analysis resumes automatically when the recording ends or your Mac is awake and unlocked again.
Turn off Notify When Speech Is Detected to stop analysis and remove any outstanding prompt. If access was denied, open System Settings > Privacy & Security > Microphone and System Settings > Notifications > Luxel. Choose an available input in Recording settings, then turn the feature on again.
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. The CLI can also open an approved 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 a script needs text or structured transcript data.
Use headphones or AirPods when recording System Audio and Microphone together. Mac speakers can feed the same audio back into the mic, creating duplicate text across both sources and reducing transcription and speaker-label accuracy.
Voice profiles and speaker processing stay on your Mac.
luxel transcribe demo.m4a > demo.txt
luxel transcribe demo.mp4 --output demo.json --format json --overwrite
luxel transcribe demo.mp4 --locale en_US --semantic-turns --diarizePlain text is printed to stdout by default. Use --format json for full turn-segmented transcript data, including speaker labels when --diarize is enabled.
Workflows
luxel clip --seconds 30.luxel pair.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.--format json for transcript data or global --json for the complete terminal result.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 for captures, replay clips, conversion, export, and transcription in scripts or repeatable workflows. The standalone CLI sends authenticated requests to the Luxel app; Luxel performs all recording and media work.
Install the latest luxel release from Terminal:
curl -fsSL https://luxel.media/cli/install.sh | shThe installer verifies the release checksum, adds luxel to ~/.local/bin, and updates your shell path. Open a new terminal after installation.
luxel pair
luxel doctorPairing opens a visible approval prompt in Luxel. The app and CLI store separate copies of the credential in macOS Keychain. Disable command-line control or revoke a paired client at any time in Settings > Command Line.
luxel record --display main --fps display --countdown 3
luxel record --active-window --fps 120
luxel toggle --last-area
luxel stop
luxel clip --seconds 30
luxel latest --reveal
luxel preferencesluxel record --active-window --preset "Default" --save-to ~/Movies/Luxel
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 --format json --diarize --overwriteInstall Luxel Skills to teach compatible coding agents how to use the full CLI or create focused WebM evidence for reviews.
npx skills add https://github.com/rawcontext/luxel-skills
npx skills add https://github.com/rawcontext/luxel-skills --skill luxel
npx skills add https://github.com/rawcontext/luxel-skills --skill luxel-evidenceChoose luxel for command reference and operations, or luxel-evidence for an intentional recording and attachment workflow.
| Command | What it does |
|---|---|
luxel --version | Print the Luxel CLI version. |
luxel pair [--name <name>] | Pair this CLI with Luxel through a visible in-app approval. |
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 an approved media file in Luxel's editor. |
luxel convert <input> <output> | Convert or edit media through Luxel. |
luxel export <request-json> <output> | Export from a Luxel export request JSON file. |
luxel transcribe <file> | Transcribe a media or audio file locally through Luxel. |
luxel preferences [--pane <pane>] | Open Luxel settings. |
luxel access add <path> | Ask Luxel to approve a folder in its native folder picker. |
luxel access check <path> | Check whether Luxel can use a path. |
luxel access list | List built-in, recordings, and additional folder grants. |
luxel access revoke <grant-id> | Remove an additional folder grant. |
luxel doctor | Report app, pairing, permission, and folder status. |
luxel cancel <job-id> | Cancel an active command-line job. |
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, but Luxel opens Settings to its default pane.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.--timeout to change the wait limit, --json for structured output, or --quiet to suppress successful output.Luxel can use your Movies folder, its configured recordings folder, and folders you approve in the app. A terminal path never bypasses the App Sandbox.
luxel access add ~/Desktop/Exports
luxel access check ~/Desktop/Exports/demo.mp4
luxel access list
luxel access revoke <grant-id>access add opens Luxel's folder picker. The folder you select there is the folder the app receives permission to use.
Each invocation uses an authenticated, short-lived connection on127.0.0.1. Luxel rejects unpaired clients, stale requests, replayed nonces, modified request bodies, and non-loopback endpoints. The CLI never receives Luxel's security-scoped bookmarks and never processes media itself.
| 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 in a folder Luxel can access. |
--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. |
-s <width>x<height> | Resize with one compact size option. |
--fps <frames>, -r <frames> | Set the output frame rate. |
--start <seconds>, --ss <seconds> | Set the beginning of the exported range. |
--end <seconds>, --to <seconds> | Set an explicit end time. |
--duration <seconds>, --t <seconds> | Set a duration from the start time. |
--speed <value> | Set playback speed from 0.1 to 10. |
--mute, -an | 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, -y | Replace an existing output file. |
| 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. |
--diarize | Identify and label speakers with Luxel's bundled local diarization model. |
--format <text|json> | Choose plain text or full transcript JSON. |
--overwrite, -y | Replace the transcript output file if it already exists. |
| Option | Meaning |
|---|---|
--json | Print the terminal result event as JSON. |
--quiet | Suppress successful output. |
--timeout <seconds> | Set how long to wait for Luxel. The default is 3600 seconds. |
--help | Show help for the current command. |
Plain output prints transcript text, an output path, a recording ID, or a concise status document. --json prints the complete terminal event. Exit status0 means success; 2 is invalid usage; 3 is not paired; 4 means Luxel could not open; 5 is a Keychain credential error; 6 is a permission or folder-access error;7 is an app, protocol, I/O, or JSON error; 8 is a timeout; and 130 is cancellation.
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 and asks Luxel to perform the work.
| 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 and command-line conversion format. |
| ALAC M4A | Apple Lossless audio | Lossless audio-only editor and command-line conversion format. |
| WAV | PCM audio | Uncompressed audio-only editor and command-line conversion format. |
| CAF | Core Audio Format | Apple audio-only editor and command-line conversion format. |
| FLAC | Free Lossless Audio Codec | Lossless audio-only editor and command-line 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 the URL scheme directly for x-callback automation.
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, optional speech detection prompts, and camera overlay controls including shape, background removal, size, and mirroring. |
| Output | Recordings folder, loop exports, 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. |
| Transcripts | Transcript language, turn segmentation, local speaker identification, and saved Known Speaker voice profiles. |
| Command Line | Enable command-line control, open the CLI repository, review paired clients, revoke access, and manage approved folders. |
| 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 enable external control, open the CLI repository, revoke paired clients, and manage folders the app may use for command-line requests.
System settings cover the menu bar timer, notification reminders, launch at login, updates, and acknowledgements.
Reference
Choose from 11 languages for the Luxel interface and system permission prompts.
Camera, microphone, screen capture, and speech recognition prompts appear in your selected language. Luxel requests each permission only when the matching feature is enabled or a recording starts.
Luxel follows your macOS language setting 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.
Open Recording settings and make sure Notify When Speech Is Detected is on. Allow notifications and microphone access, choose an available microphone, and make sure Luxel is open, no recording is active, and your Mac is awake and unlocked.
Open System Settings > Notifications > Luxel and allow notifications. Focus modes and other macOS notification settings can delay or hide prompts. Speech detection is only a cue and is not guaranteed to recognize every conversation, meeting, or call.
Open Recording settings and choose System Default or another connected input. Luxel follows the selected microphone for both recording and speech detection.
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.
Install the CLI from the Luxel CLI GitHub repository and place the luxel binary in a directory on your PATH.
Run luxel doctor, confirm transcription is available in the app, and check that Luxel can access the input and output folders.
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 Squircle, Rounded, or Square shape; small, medium, or large size; and mirror behavior. Cutout removes the camera background around the presenter, while Green Screen removes a chroma-key background.
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, replay clip destinations, luxel convert, luxel export, and luxel transcribe can finish directly.
Luxel includes English, German, Spanish, French, Italian, Japanese, Korean, Vietnamese, Simplified Chinese, Portuguese (Brazil), and Portuguese (Portugal).