Clearing Chrome's cache, cookies, etc via command line? (OSX)
Categories:
Clearing Chrome's Cache, Cookies, and Site Data via Command Line on macOS

Learn how to programmatically clear Google Chrome's browsing data, including cache, cookies, and local storage, using command-line tools on macOS. This guide covers methods for both active and inactive Chrome instances.
Clearing browser data like cache and cookies is a common troubleshooting step and a necessary action for privacy or development workflows. While Chrome provides a graphical interface for this, automating the process via the command line offers significant advantages, especially for scripting, testing, or managing multiple environments. This article will guide you through the process of clearing Chrome's data directories on macOS using shell commands.
Understanding Chrome's Data Storage on macOS
Google Chrome stores its user profile data, including cache, cookies, local storage, and other site data, within specific directories on your macOS system. These directories are typically located within your user's Library folder. Knowing these paths is crucial for command-line manipulation. Each Chrome profile has its own dedicated directory, with 'Default' being the most common for a single-user setup.
flowchart TD A["User Home Directory (~)"] --> B["Library/Application Support/Google/Chrome/"] B --> C["Default/"] B --> D["Profile 1/"] B --> E["Profile 2/"] C --> F["Cache/"] C --> G["Cookies"] C --> H["Local Storage/"] C --> I["Application Cache/"] C --> J["IndexedDB/"] C --> K["Service Worker/"] F -- "Contains cached files" --> L[Performance] G -- "Stores session data" --> M[Tracking] H -- "Web application data" --> N[Offline Access]
Google Chrome User Data Directory Structure on macOS
Identifying Chrome Profile Paths
Before you can clear any data, you need to identify the correct path to your Chrome profile. For most users, the 'Default' profile is where all browsing data is stored. If you use multiple Chrome profiles, you'll find additional directories named 'Profile 1', 'Profile 2', etc. The base path for Chrome's user data on macOS is typically ~/Library/Application Support/Google/Chrome/
.
CHROME_PROFILE_PATH="~/Library/Application Support/Google/Chrome/Default"
echo "Default Chrome Profile Path: $CHROME_PROFILE_PATH"
Defining and echoing the default Chrome profile path
Clearing Data with Chrome Closed
The safest and most straightforward method to clear Chrome's data is when the browser is completely closed. This prevents any file locking issues or data corruption. You can use the rm -rf
command to remove the specific directories containing cache, cookies, and other site data. It's crucial to ensure Chrome is not running before executing these commands.
rm -rf
is powerful and irreversible. Double-check your paths before executing to avoid accidentally deleting important files. It's highly recommended to back up your Chrome profile if you have critical data.1. Step 1: Quit Google Chrome
Ensure all instances of Google Chrome are closed. You can do this manually or via the command line.
2. Step 2: Navigate to the Chrome Profile Directory
Open your terminal and navigate to the Chrome profile directory. Replace Default
with your specific profile name if needed.
3. Step 3: Remove Cache and Site Data Directories
Execute the following commands to remove the relevant directories. These commands target the primary locations for cache, cookies, and local storage.
# Quit Chrome (optional, but recommended)
killall "Google Chrome"
# Define the base path for the default profile
CHROME_PROFILE_DIR="~/Library/Application Support/Google/Chrome/Default"
# Remove Cache directory
rm -rf "$CHROME_PROFILE_DIR/Cache"
# Remove Code Cache directory
rm -rf "$CHROME_PROFILE_DIR/Code Cache"
# Remove Application Cache directory
rm -rf "$CHROME_PROFILE_DIR/Application Cache"
# Remove Local Storage directory
rm -rf "$CHROME_PROFILE_DIR/Local Storage"
# Remove IndexedDB directory
rm -rf "$CHROME_PROFILE_DIR/IndexedDB"
# Remove Service Worker directory
rm -rf "$CHROME_PROFILE_DIR/Service Worker"
# Remove Cookies file (it's a file, not a directory)
rm -f "$CHROME_PROFILE_DIR/Cookies"
# Remove Session Storage (if present, usually within Local Storage)
rm -rf "$CHROME_PROFILE_DIR/Session Storage"
echo "Chrome cache, cookies, and site data cleared for Default profile."
Command to clear various Chrome data directories and files for the Default profile.
Default
in the CHROME_PROFILE_DIR
variable with the name of the desired profile (e.g., Profile 1
).Clearing Data with Chrome Running (Advanced)
Clearing data while Chrome is running is generally not recommended due to potential data corruption or incomplete deletion. Chrome might re-create files or hold locks on them. However, if you must attempt this, you can try to delete files, but Chrome's internal processes might interfere. A more robust approach for automation with Chrome running often involves using browser automation tools like Selenium or Puppeteer to programmatically trigger Chrome's internal clear browsing data function.
// Example using Puppeteer to clear browsing data
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
// Navigate to Chrome's settings page for clearing data
await page.goto('chrome://settings/clearBrowserData');
// Wait for the dialog to load (adjust selector as needed)
await page.waitForSelector('settings-ui');
// This part is complex as it involves interacting with shadow DOM and specific buttons.
// A more reliable way is to use the CDP (Chrome DevTools Protocol) directly.
// Example CDP command to clear cache and cookies:
const client = await page.target().createCDPSession();
await client.send('Network.clearBrowserCache');
await client.send('Network.clearBrowserCookies');
console.log('Browser cache and cookies cleared via CDP.');
await browser.close();
})();
Conceptual JavaScript code using Puppeteer and Chrome DevTools Protocol (CDP) to clear browser data.
rm -rf
is sufficient and safer.