No description
  • TypeScript 81.6%
  • C++ 8.3%
  • JavaScript 5.7%
  • Swift 1.9%
  • CSS 1.1%
  • Other 1.3%
Find a file
Sid 00fbd95452
Merge pull request #609 from kwakseongjae/i18n/ko-kr-missing-keys
i18n(ko-KR): fill missing Korean translation keys
2026-05-18 21:00:31 -07:00
.github add nix package auto-bump workflow 2026-05-09 16:58:51 -07:00
.husky pre commit hook and biome lint check 2026-03-07 18:03:32 -08:00
docs feat: compose mac native capture with media 2026-05-18 12:19:05 +02:00
electron feat(cursor): clip native cursor to camera-aware video bounds in preview and export 2026-05-18 12:19:47 +02:00
icons/icons fix(tray): adjust icon size for macOS platform compatibility 2026-04-11 10:39:55 +08:00
nix chore: bump nix package to v1.4.0 2026-05-10 00:04:08 +00:00
public replace img 2026-03-07 22:13:33 -08:00
scripts fix: address native mac review feedback 2026-05-18 12:19:47 +02:00
src Merge pull request #609 from kwakseongjae/i18n/ko-kr-missing-keys 2026-05-18 21:00:31 -07:00
tests fix: address native capture review feedback 2026-05-10 15:11:25 +02:00
.editorconfig feat: add .editorconfig 2026-03-07 18:37:45 -08:00
.env.example feat: configure macOS hardened runtime, entitlements, and build environment variables for notarization 2026-04-03 15:16:45 +05:30
.envrc feat: add Nix flake with dev shell, package, and NixOS/Home Manager modules 2026-04-12 13:33:13 -05:00
.gitignore chore: ignore macos native build outputs 2026-05-18 12:19:05 +02:00
.nvmrc Pin Node and npm versions 2026-03-19 19:25:07 +08:00
biome.json style: migrate biome config to 2.4.12 and fix formatting (CRLF → LF) 2026-04-21 14:11:31 +02:00
components.json biome linting refactor 2026-03-07 17:59:41 -08:00
CONTRIBUTING.md contributions 2025-11-19 13:01:35 -07:00
electron-builder.json5 fix: isolate macOS native capture by platform 2026-05-18 12:19:47 +02:00
flake.lock feat: add Nix flake with dev shell, package, and NixOS/Home Manager modules 2026-04-12 13:33:13 -05:00
flake.nix fix(nix): correct Electron binary path to libexec/electron 2026-04-12 17:55:43 -05:00
index.html isc 2025-11-09 18:08:44 -07:00
LICENSE Add LICENSE file 2025-11-19 00:46:37 -07:00
macos.entitlements fix(macos): add NSScreenCaptureUsageDescription and screen-capture entitlement 2026-05-08 01:48:52 -07:00
package-lock.json remove macos cursor highlight; wire telemetry session for non-windows 2026-05-10 14:12:54 -07:00
package.json fix: address native mac review feedback 2026-05-18 12:19:47 +02:00
playwright.config.ts feat(test): add an e2e test 2026-03-16 11:17:26 -04:00
postcss.config.cjs biome linting refactor 2026-03-07 17:59:41 -08:00
README.md docs: remove README developer notes link 2026-05-10 15:11:37 +02:00
tailwind.config.cjs refactor: clean up imports and streamline JSX formatting in LaunchWindow component 2026-03-13 00:17:08 -04:00
tsconfig.json biome linting refactor 2026-03-07 17:59:41 -08:00
tsconfig.node.json style: fix linting errors for biome check 2026-04-23 22:50:21 +05:30
vite.config.ts feat: add macos screencapturekit helper 2026-05-18 12:19:05 +02:00
vitest.browser.config.ts refactor: remove extraneous comments 2026-04-07 13:50:26 -04:00
vitest.config.ts fix: tests + how to write them 2026-05-07 23:22:32 -04:00

Warning

This started as a side project that took off — it's not production grade and you'll hit bugs, but hopefully it covers what you need.

OpenScreen Logo

siddharthvaddem%2Fopenscreen | Trendshift

Ask DeepWiki   Join Discord

OpenScreen

OpenScreen is your free, open-source alternative to Screen Studio (sort of).

If you don't want to pay $29/month for Screen Studio but want a much simpler version that does what most people seem to need - quick, polished product demos and walkthroughs you'd post on X, Reddit. OpenScreen does not offer all Screen Studio features, but covers the basics well!

Screen Studio is an awesome product and this is definitely not a 1:1 clone. OpenScreen is a much simpler take, just the basics for folks who want control and don't want to pay. If you need all the fancy features, your best bet is to support Screen Studio (they really do a great job, haha). But if you just want something free (no gotchas) and open, this project does the job!

100% free for both personal and commercial use. Use it, modify it, distribute it — just be cool 😁 and shout out the project if you feel like it.

OpenScreen App Preview 3 OpenScreen App Preview 4

Core Features

  • Record a specific window, region, or your whole screen.
  • Record microphone and system audio.
  • Webcam overlay with picture-in-picture, drag-to-position, and shape options.
  • Auto or manual zooms with adjustable depth, duration, easing, and pixel-precise position.
  • Wallpapers, solid colors, gradients, or a custom background.
  • Motion blur for smoother pan and zoom transitions.
  • Crop, trim, and per-segment speed control on the timeline.
  • Blur effects to hide sensitive parts of the screen.
  • Cursor and click highlighting.
  • Text, arrow, and image annotations.
  • Save and reopen projects without re-recording.
  • Export to MP4 or GIF in multiple aspect ratios and resolutions.
  • Translated into Arabic, English, Spanish, French, Japanese, Korean, Russian, Turkish, Vietnamese, Simplified Chinese, and Traditional Chinese.

Installation

Download the latest installer for your platform from the GitHub Releases page.

macOS

The easiest way to install on macOS is via Homebrew:

brew install --cask siddharthvaddem/openscreen/openscreen

Brew automatically picks the right build for Apple Silicon or Intel, and verifies the download against a notarized signature so Gatekeeper won't block it.

To update later: brew upgrade --cask openscreen To uninstall: brew uninstall --cask openscreen (add --zap to also remove app data)

Manual install (if you prefer)

If you'd rather grab the .dmg directly from the Releases page and encounter Gatekeeper blocking the app, you can bypass it by running the following command in your terminal after installation:

xattr -rd com.apple.quarantine /Applications/Openscreen.app

Note: Give your terminal Full Disk Access in System Settings > Privacy & Security to grant you access and then run the above command.

After running this command, proceed to System Preferences > Security & Privacy to grant the necessary permissions for "screen recording" and "accessibility". Once permissions are granted, you can launch the app.

Windows

Install via winget:

winget install SiddharthVaddem.OpenScreen

To update later: winget upgrade SiddharthVaddem.OpenScreen To uninstall: winget uninstall SiddharthVaddem.OpenScreen

If you'd rather grab the .exe installer directly, download it from the Releases page.

Linux

Three packages are published to the Releases page for each version. Pick the one that matches your distro:

Debian / Ubuntu / Pop!_OS (.deb)

sudo apt install ./Openscreen-Linux-latest.deb

Arch / Manjaro (.pacman)

sudo pacman -U Openscreen-Linux-latest.pacman

Any distro (.AppImage)

chmod +x Openscreen-Linux-*.AppImage
./Openscreen-Linux-*.AppImage

NixOS / Nix (flake)

Try without installing:

nix run github:siddharthvaddem/openscreen

Install into your user profile:

nix profile install github:siddharthvaddem/openscreen

For a NixOS system config (flake):

{
  inputs.openscreen.url = "github:siddharthvaddem/openscreen";

  outputs = { nixpkgs, openscreen, ... }: {
    nixosConfigurations.<host> = nixpkgs.lib.nixosSystem {
      modules = [
        openscreen.nixosModules.default
        { programs.openscreen.enable = true; }
      ];
    };
  };
}

For Home Manager, use openscreen.homeManagerModules.default with the same programs.openscreen.enable = true;.

You may need to grant screen recording permissions depending on your desktop environment.

Sandbox error: If the AppImage fails to launch with a "sandbox" error, run it with --no-sandbox:

./Openscreen-Linux-*.AppImage --no-sandbox

Limitations

System audio capture relies on Electron's desktopCapturer and has some platform-specific quirks:

  • macOS: Requires macOS 13+. On macOS 14.2+ you'll be prompted to grant audio capture permission. macOS 12 and below does not support system audio (mic still works).
  • Windows: Works out of the box.
  • Linux: Needs PipeWire (default on Ubuntu 22.04+, Fedora 34+). Older PulseAudio-only setups may not support system audio (mic should still work).

Built with

  • Electron
  • React
  • TypeScript
  • Vite
  • PixiJS
  • dnd-timeline

Documentation

See the documentation here: OpenScreen Docs Refresh if outdated.

Contributing

Contributions are welcome - please include screenshots or a short video for any UI change or new user-facing feature. If it touches what users see or do, show it. Skip only when it genuinely doesn't apply. PRs that don't follow this will be closed.

Star History

Star History Chart

License

This project is licensed under the MIT License. By using this software, you agree that the authors are not liable for any issues, damages, or claims arising from its use.