BlogScreenshots on your device
How to Record Your Screen in Google Chrome
Record your screen on a Chromebook with ChromeOS Screen Capture, or use Chrome's browser APIs on Windows and macOS.
Short answer: the built-in screen-recording shortcut documented by Google is a ChromeOS/Chromebook feature. Press Ctrl + Shift + Show windows, choose Screen record, select the full screen, a region, or a window, then start recording. On Windows or macOS, Chrome does not provide the same universal toolbar; use a Chrome extension or a page that calls the browser’s getDisplayMedia() API.
This guide covers both cases, including audio, file locations, permissions, a runnable browser example, troubleshooting, and alternatives.
Record your screen on a Chromebook
1. Open Screen Capture
- Press Ctrl + Shift + Show windows. The Show windows key usually has a rectangle with two vertical lines beside it.
- If your Chromebook has a dedicated screenshot key, press it instead, or open the system interface and choose Screen Capture.
- In the toolbar at the bottom, select Screen record (the video-camera option).
Google’s instructions describe this workflow for ChromeOS, not for the Chrome browser running on every desktop operating system. See the official Chromebook instructions if your keyboard layout differs.
2. Choose what to record
- Full screen: records everything on the selected display.
- Partial screen: drag around the area you want. A partial recording can be saved as a WebM video or a GIF.
- Window: records one application window.
3. Configure audio and optional controls
Open Settings in the Screen Capture toolbar before starting. Depending on your device and ChromeOS version, you can choose device audio, microphone audio, or both. The toolbar may also provide front-camera capture and controls to show clicks and keystrokes.
A connected external microphone can be selected when you need narration. Check that ChromeOS recognizes it before recording.
4. Start and stop
- For a full-screen capture, click the screen.
- For a partial capture, drag to select the area and confirm.
- For a window capture, click the window.
- Stop with the on-screen Stop recording control, or press Search + Shift + X.
Recordings are saved in Downloads by default. Screen Capture settings let you choose another folder. ChromeOS also copies screenshots and recordings to the clipboard in supported workflows.
Use Screencast for transcripts, editing, and sharing
Screencast is a separate ChromeOS app rather than the quick Screen Capture toolbar. Google says it is available on ChromeOS devices with Chrome version 104 or later, although an administrator can disable it on managed devices. It can record the full screen, a window, or a region, then provide transcripts, search, translation, trimming, muting, and title overlays. Recordings are stored in Google Drive.
Sharing rules depend on the account. With a personal account, a shared screencast link can be visible to anyone who has the link. Managed work or school accounts generally limit access to people in the managed domain who have the link. Check the sharing setting before sending a recording.
| Choose | Best for | Storage and sharing |
|---|---|---|
| Screen Capture | A quick local video or GIF | Downloads by default; folder can be changed |
| Screencast | Lessons, demos, transcripts, search, and light editing | Google Drive; access depends on account sharing settings |
Record a Chrome tab, window, or screen on Windows or macOS
Chrome on a non-Chromebook computer does not expose the Chromebook shortcut as a universal browser control. A web page or extension can request capture with navigator.mediaDevices.getDisplayMedia(). The browser then shows a permission picker so the user chooses a tab, window, or screen.
Complete runnable example
Save this as screen-recorder.html and open it from a secure context (HTTPS or http://localhost). The buttons must be clicked by the user; browsers block display capture started automatically.
<!doctype html>
<html lang="en">
<meta charset="utf-8">
<title>Chrome screen recorder</title>
<button id="start">Choose screen and start</button>
<button id="stop" disabled>Stop</button>
<a id="download" hidden>Download recording</a>
<script>
let recorder;
let chunks = [];
const start = document.querySelector('#start');
const stop = document.querySelector('#stop');
const download = document.querySelector('#download');
start.onclick = async () => {
try {
const stream = await navigator.mediaDevices.getDisplayMedia({
video: { frameRate: 30 },
audio: true
});
chunks = [];
recorder = new MediaRecorder(stream, { mimeType: 'video/webm' });
recorder.ondataavailable = event => {
if (event.data.size > 0) chunks.push(event.data);
};
recorder.onstop = () => {
const blob = new Blob(chunks, { type: 'video/webm' });
const url = URL.createObjectURL(blob);
download.href = url;
download.download = 'chrome-screen-recording.webm';
download.hidden = false;
download.textContent = 'Download recording';
};
stream.getVideoTracks()[0].addEventListener('ended', () => {
if (recorder.state !== 'inactive') recorder.stop();
stop.disabled = true;
});
recorder.start(1000);
start.disabled = true;
stop.disabled = false;
} catch (error) {
console.error(error);
alert(`Capture failed: ${error.name}: ${error.message}`);
}
};
stop.onclick = () => {
recorder.stop();
recorder.stream?.getTracks().forEach(track => track.stop());
start.disabled = false;
stop.disabled = true;
};
</script>