Open-Source macOS Screen Recorder for Node.js
Native ScreenCaptureKit + AVFoundation recorder with window selection, multi-display, overlay exclusion, granular audio, camera capture and cursor tracking. The same engine that powers Creavit Studio.
Powered by ScreenCaptureKit
Modern, high-performance capture with native macOS APIs.
Window / Display / Area Recording
Full screen, window-specific or custom region recording with automatic overlay window exclusion via ScreenCaptureKit.
Camera Capture
Video-only camera companion clip saved with shared session timestamp. Device listing with resolution metadata.
Granular Audio Control
Separate microphone and system audio toggles with device selection. Audio saved to a synchronized companion file.
Cursor Tracking
Track mouse position, cursor types (pointer, text, grab, crosshair) and click events to JSON in real time.
Multi-Display Support
Accurate coordinate mapping across multiple displays. Automatic display detection for window recording.
Electron Compatible
Crash protection for Electron environments. Window/display thumbnails for selection UIs. Never blocks the main process.
Smoothly zoom the screen toward important UI so viewers follow the story—without jumpy cuts or a separate motion tool. Smart zoom keeps attention on what matters during capture and edit, so tutorials, demos, and launch videos read clearly on a single macOS timeline—no round-trip to another editor for pacing.
Make pointer movement and clicks easy to read on screen captures—ideal for product demos and engineering walkthroughs. Highlight the cursor for training and sales recordings; clearer click feedback means you spend less narration repeating where to look on the interface.
Remove the webcam background in the editor after capture for a clean talking-head cutout on macOS. Creavit Studio skips gimmicky real-time virtual backgrounds while you record. When you are done, strip the backdrop from the camera clip in-editor and ship a crisp subject silhouette in the final export.
Resize and position the webcam against the screen so the layout matches demos, tutorials, or talking-head moments. Switch layout presets and balance camera size with screen real estate—one coherent frame for onboarding clips, changelog videos, and creator content without leaving the recorder.
Add depth and editorial framing so flat UI captures feel closer to polished product marketing—not a raw screen grab. Perspective-style framing helps interface storytelling read intentional: viewers track hierarchy faster, which matters for SaaS launches, changelog videos, and investor-ready demos.
Drop titles, callouts, and code context next to the interface for tutorials, walkthroughs, and product explainers. Deliver context when viewers need it—not after they are lost. Layer readable emphasis for developer content so narration, cursor, and text reinforce the same beat.
Stack graphics, short clips, and supporting visuals wherever the edit needs them—without a separate compositing app. Bring reactions, logos, and motion layers into frame while keeping the screen readable. The result feels closer to branded product video than a flat capture.
Present the recording inside device frames and presentation-ready compositions for social posts and documentation. Wrap the timeline in a consistent mockup language for social and docs so every ship keeps the same professional line—from capture through export on macOS.
node-mac-recorder vs Other Approaches
Download
Creavit Studio
Install the native macOS build, start recording right away, and upgrade when you want full export access.

Frequently Asked Questions
Common questions about the open-source recording library.
Yes, MIT licensed. Free to use in commercial projects. The full source code is available on GitHub.
The screen recording remains silent. Audio is written to a separate companion file (e.g. temp_audio_timestamp.webm) so you can mix microphone and system sound in post.
Use a loopback device (e.g. BlackHole, Soundflower, Loopback) and set it via systemAudioDeviceId or rely on auto-detection when available.
Yes. The native layer includes crash protections for Electron apps and supports window/display thumbnails for selection UIs.
Yes, built with native macOS APIs (ScreenCaptureKit + AVFoundation). Windows/Linux support welcome via contributions.
macOS 12.3+ (ScreenCaptureKit), Node.js 14+, Xcode Command Line Tools. Grant screen and microphone permissions.