Screen recorder
Record your screen, a window or a tab, then save the file. No watermark, no cap, no account.
Every free screen recorder online has a catch: a watermark burned into the corner, a five-minute cap, a signup wall, or an upload to their servers so they can “process” the video. This one has none of those, because it does almost none of the work. getDisplayMedia and MediaRecorder are already built into your browser, and both run on your machine. The video is assembled in memory and handed to you as a file. There is nowhere for it to go.
System audio is a browser limitation, not ours: in Chrome and Edge it only comes through when you share a browser tab and tick “Also share tab audio” in the picker. Sharing a whole screen or a single window records no sound on macOS at all, and on Windows only whole-screen shares carry it. Firefox and Safari capture no system audio in any mode. Your microphone works everywhere.
Questions people ask
Is my screen recording uploaded anywhere?
No. The browser hands the captured frames straight to MediaRecorder, which builds the video in this tab’s memory. Nothing is sent anywhere — the uploads counter in the top bar stays at 0, and you can confirm it in your dev-tools Network tab while you record. That is worth caring about: screen recordings tend to contain email, dashboards and whatever else was open behind the thing you meant to capture.
Why is there no watermark or five-minute limit?
Because there is no server to pay for. The recorders that stamp a logo on your video or cut you off at five minutes are selling you the removal of a limit they added themselves. Here the recording is made by code already in your browser, so there is nothing to meter and no upgrade to sell.
Why is there no sound from the thing I recorded?
Because browsers barely allow it. Chrome and Edge only pass system audio when you share a browser tab and tick “Also share tab audio” in the sharing dialog. Sharing a whole screen or a window gives you no audio on macOS, and on Windows only a whole-screen share carries it. Firefox and Safari capture none at all. Your microphone is separate and works in every browser here, and if you tick both they get mixed into one track properly.
How long can I record for?
Long enough for most jobs, but not unlimited, and it would be dishonest to claim otherwise. The video sits in memory until you download it — about 35 MB a minute at the default quality. Twenty minutes is comfortable, an hour at high quality can exhaust a laptop’s memory and lose the recording. For a long session, record it in 15-minute parts and download each one.
Does this work on an iPhone or iPad?
No. Safari on iOS and iPadOS has no screen capture API whatsoever, so no website can record your screen there — use the built-in Screen Recording button in Control Centre instead. On a desktop it works in Chrome, Edge, Firefox and Safari 13 and later.
How this works & why it’s private
Two browser APIs and nothing else. navigator.mediaDevices.getDisplayMedia asks the browser, not this page, to show you the picker — the page never sees your list of windows and only receives the one stream you chose. If you tick the microphone, getUserMedia supplies a second stream, and the two audio tracks are merged into one with an AudioContext and createMediaStreamDestination so neither goes missing. That combined stream goes into MediaRecorder, which encodes it with the codec your browser already ships — H.264 in MP4 where offered, otherwise VP9 in WebM. The encoded chunks accumulate in a JavaScript array, get joined into a Blob when you stop, and the download is an object URL pointing at that blob in your own memory.
None of that involves a network request, which is why there is no watermark, no cap and no account: there is no server bill to recover. It is also why the recording disappears if you reload before downloading, and why a very long recording is limited by your RAM. Both of those are real costs of doing it locally, and we would rather say so than pretend.