Captura is a macos application that lets you quickly record your screen and share it as an mp4 or gif. It's heavily inspired by Recordit, but built to support macOS 13+. If you're using an earlier version, try recordit instead!

Download on the Mac App Store



Here's some screenshots of the app and example diagrams generated with it.

Recording Selection Menu Item
Thumbnail of a screenshot of the application while recording Thumbnail of a screenshot of the application menu

Bring your own Backend

Captura allows you to send the files to a remote server if you don't want to store it locally.

The Request

Captura will create a POST request with Content-Type set to image/gif or video/mp4 depending on the user settings. The HTTP Body will be the contents of the file.

The Response

Captura expects back a JSON response containing an object with a url field containing a string on where we can find the uploaded object. A successful response MUST return a code 201 for it to be recognized by Captura.

What about authentication or authorization?

If you need any type of keys or user identifiers, make sure they're included as part of the URL.

Additional Features

When using your own backend, you get some additional features.

For an example on how to deploy a backend to aws with pulumi, you can check out the example repo.


Captura supports different types of automation, including a custom URL scheme, AppleScript support, and will soon support Shortcuts.

URL Scheme

Captura responds to captura: urls, and uses the `action=` query parameter. Invalid query parameters will be ignored.

Important! This type of automation is disabled by default. You need to manually enable it in Preferences before it works and cannot be changed via automation.

Configure the App

action=configure, this is useful to quickly change between presets, or to easily onboard people to a shared backend.

For example: captura:?action=configure&fps=4&outputs=gif&backend=https://coolbackend.example will set the fps to 4, the local outputs to gif, and backend to https://coolbackends.example. All other settings are left as they were.

Starting a Recording

action=record, this is useful if you want to trigger a recording with specific settings. All of the setting overrides here only affect the current recording session and won't affect subsequent recordings.

For example: captura:?action=record&fps=10&outputs=mp4&backend=https://bugreports.example&x=100&y=400&prevent_resize=true will start a recording session that posts to a custom backend, using a 400x400 rectangle that can't be resized.


Configuring the App

The command configure will let you update the configuration with AppleScript. For example, this command will set the fps to 8

tell application "Captura"
	configure {fps:8}
end tell

For a full reference of the accepted values, see the section above on URL parameters

Starting a Recording

The command start_recording will let you trigger a recording with AppleScript. For example, this command will auto start a 1 second recording with a rectangle of width 800, and starting at x 100

tell application "Captura"
	start_recording {width:800, x:100, auto_start:true, max_length:1}
end tell

For a full reference of the accepted values, see the section above on URL parameters


Coming Soon!