# Playwright Browsers on Mac: Safe to Delete?

> ~/Library/Caches/ms-playwright holds the Chromium, Firefox and WebKit builds Playwright tests run on. Delete them and npx playwright install restores them.

- Updated: 2026-10-10
- URL: https://fresh.ist/caches/playwright/

**TL;DR:** Yes. ~/Library/Caches/ms-playwright contains browser builds downloaded by npx playwright install, one folder per browser version. Tests fail with a missing-executable error until you install them again, which is a single command and a few hundred megabytes per browser. npx playwright uninstall removes them cleanly, and --all also covers other projects on the Mac.

## Facts from the Freshist app

- Category in Clean: Playwright Browsers — "Test browser binaries — Playwright re-downloads them on next install."
- Location: `~/Library/Caches/ms-playwright`
- Risk level: Medium risk — Safe to remove, but the tool that owns it re-downloads or rebuilds it on next use, which costs time and bandwidth. Listed, never pre-selected.
- Selected by default: no
- What Freshist does: Moves the selected items to the Trash, so you can undo. Nothing is deleted outright.

## What Playwright downloads

Playwright doesn't drive the browsers you already have. Each Playwright version is tested against specific builds of Chromium, Firefox and WebKit, and `npx playwright install` downloads those builds. The Playwright docs give `~/Library/Caches/ms-playwright` as the default location on macOS.

Folder names follow the pattern `chromium-<revision>`, `chromium_headless_shell-<revision>`, `firefox-<revision>` and `webkit-<revision>`, plus an `ffmpeg` build used for recording video. Each revision number is tied to a Playwright release.

## Why it fills up

Every Playwright upgrade can bring new browser revisions. Playwright tracks which installations still use which revisions and removes ones nothing needs as you update. That bookkeeping only works for projects that still exist, though. Delete a project folder, and the browsers it installed can stay behind. A full set of three browsers plus the headless shell often adds up to over a gigabyte.

## What deleting it means

| What you remove | Result |
| --- | --- |
| All browser folders | Tests fail with an error that the browser executable doesn't exist, until you run `npx playwright install` again |
| Only revisions no current project uses | Nothing visible; current tests keep running |
| `ffmpeg` folder | Video recording stops until you reinstall |

Your tests, configuration, traces and reports live in your projects, not here.

## Check which browsers are installed

```bash
du -sh ~/Library/Caches/ms-playwright/*
npx playwright install --list
```

`--list` prints the browsers installed for every Playwright installation on the Mac, which helps you spot revisions no project needs.

## Clean it with Playwright

The documented commands, run from a project that uses Playwright:

```bash
npx playwright uninstall         # browsers for this Playwright installation
npx playwright uninstall --all   # browsers for every Playwright installation on the Mac
```

To get browsers back for a project, run `npx playwright install` (or `npx playwright install chromium` for just one). CI machines that cache this folder can be cleared the same way.

You don't always need every browser. Projects that only test in Chromium can install just that one, and since recent Playwright versions run headless tests on a separate `chromium_headless_shell` build, a project that never opens a headed browser can install just the shell with `npx playwright install --only-shell`. Keeping installs targeted keeps this folder small.

If you'd rather not lose browsers that old projects use, keep the automatic cleanup on. Playwright lets you disable it with `PLAYWRIGHT_SKIP_BROWSER_GC=1`, so check your shell profile if old revisions never seem to go away.

## What to leave in place

Browser revisions that active projects use are cheap to keep and annoying to lose before an offline test run. Leftovers from abandoned projects are what's worth removing. Packages that installed Playwright live in your project's `node_modules` and the package manager caches covered in the [npm](/caches/npm/) and [pnpm](/caches/pnpm/) guides.

## Sources

- [Playwright docs: Browsers (install location, managing browser binaries, uninstall)](https://playwright.dev/docs/browsers)
- [Playwright docs: Command line tools](https://playwright.dev/docs/test-cli)

## Frequently asked questions

### Doesn't Playwright delete old browser versions itself?

It does, as long as each Playwright installation is still around. It tracks which installs need which browser versions and removes versions nothing needs when you update. Folders from deleted projects can still linger, which is what uninstall --all cleans up.

### Will deleting these browsers affect Chrome or Safari?

No. Playwright downloads its own patched browser builds into this folder. Your regular Chrome, Firefox and Safari apps, and their profiles, are separate.

### How do I keep Playwright browsers somewhere else?

Set PLAYWRIGHT_BROWSERS_PATH when you install and run tests, for example to a folder inside your project or on another disk. Playwright then downloads to and looks in that folder instead.

---

Canonical page: https://fresh.ist/caches/playwright/
Official site: https://fresh.ist/ (fresh.ist only)
Generated: 2026-10-10
