Skip to main content
Version: 1.23


Playwright can record videos for all pages in a browser context. Videos are saved upon context closure, so make sure to await browserContext.close().

const context = await browser.newContext({ recordVideo: { dir: 'videos/' } });
// Make sure to await close, so that videos are saved.
await context.close();

You can also specify video size. The video size defaults to the viewport size scaled down to fit 800x800. The video of the viewport is placed in the top-left corner of the output video, scaled down to fit if necessary. You may need to set the viewport size to match your desired video size.

const context = await browser.newContext({
recordVideo: {
dir: 'videos/',
size: { width: 640, height: 480 },

Saved video files will appear in the specified folder. They all have generated unique names. For the multi-page scenarios, you can access the video file associated with the page via the

const path = await;

Note that the video is only available after the page or browser context is closed.

API reference