Skip to main content

cookietuner

Extract and display cookies from macOS browsers.
Decrypts Chrome's macOS Keychain entries, parses Safari's binary cookie store, and captures fresh sessions from a throwaway Chrome sign-in.

GitHub · Sponsor

PyPI License Stars


Get Started

Run without installing:

uvx cookietuner

Or install permanently:

uv tool install cookietuner

What is cookietuner?

A command-line tool that reads cookies straight from your local macOS browser stores. It decrypts Chrome's encrypted cookie database via the macOS Keychain (Chrome 130+ format) and parses Safari's binary Cookies.binarycookies file directly, with no extensions involved.

When a store can't give you what you need, cookietuner capture opens a clean Chrome window instead, waits while you sign in yourself, and keeps the cookies that session set.

Features

  • Chrome support — decrypts cookies using macOS Keychain, Chrome 130+ format.
  • Safari support — parses the binary cookies format with SameSite detection.
  • Throwaway sign-in capture — a fresh Chrome profile, deleted afterwards, for session and HttpOnly cookies that never reach disk.
  • Sign in from the Passwords app — optionally loads Apple's iCloud Passwords extension, so nothing is typed.
  • Multiple output formats — table, short, line, and JSON.
  • Domain filtering — filter by exact domain (x.com matches .x.com, not api.x.com or dropbox.com).
  • Profile selection — choose which browser profile to read from.
  • Cookie metadata — expiration, Secure, HttpOnly, and SameSite flags.

Usage

List cookies

# Chrome cookies (browser flag is required)
cookietuner cookies -b chrome

# Safari cookies
cookietuner cookies -b safari

# Filter by domain
cookietuner cookies -b chrome -d google.com

# Pick a Chrome profile
cookietuner cookies -b chrome -p "Profile 1"

Output formats

Format Flag Use case
Full table (default) -o table Browsing all cookie details
Short table -o short Just domain, name, value
Line -o line Space-separated, for shell scripting
JSON -o json Piping into jq or another tool

Capture a fresh session

Opens Chrome on a temporary profile with none of your history or logins. You sign in by hand; cookietuner never types, fills or sees your credentials. The profile is deleted when the capture ends, including on timeout, Ctrl-C or error.

# Wait for specific cookies, then print them and close the browser
cookietuner capture --url https://example.com/login \
  -d example.com --until session_id --until csrf_token -o json

# Without --until, the capture ends when you close the window
cookietuner capture --url https://example.com/login -d example.com

# Sign in from the Passwords app instead of typing
cookietuner capture --url https://example.com/login \
  -d example.com --until session_id --passwords

# Route the session through a proxy
cookietuner capture --url https://example.com/login \
  -d example.com --proxy socks5://127.0.0.1:1080

Cookie values go to stdout on their own and progress goes to stderr, so the output pipes straight into a secret store:

cookietuner capture --url https://example.com/login \
  -d example.com --until session_id -o json | my-secret-store put example-session

This reaches cookies a store reader can't: session cookies, cookies kept only in memory, and HttpOnly cookies on a macOS version that denies access to Chrome's own store.

List browser profiles

# All profiles
cookietuner profiles

# Filter by browser
cookietuner profiles -b chrome

Requirements

  • macOS (the tool reads macOS-specific cookie stores).
  • Python 3.14+.
  • Chrome and/or Safari.

Development

git clone https://github.com/alltuner/cookietuner.git
cd cookietuner
uv sync
uv run pytest
uv run cookietuner

License

MIT

Support the project

cookietuner is an open source project built by David Poblador i Garcia through All Tuner Labs.

If this project was useful to you, consider supporting its development.


Built by David Poblador i Garcia with the support of All Tuner Labs.
Made with ❤️ in Poblenou, Barcelona.

Metadata

Release files for cookietuner 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cookietuner 0.2.2
File Size Uploaded
cookietuner-0.2.2.tar.gz 17.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cookietuner 0.2.2
File Interpreter ABI Platform
cookietuner-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 37.5 kB

Release files / cookietuner-0.2.2.tar.gz

Download URL cookietuner-0.2.2.tar.gz
Size 17.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1720d6928d23187bb3af603f5fcc3583b34bbaecea52165574b3d13e755877a9
BLAKE2b-256 checksum
How to use checksums
b45209e979a20bd7f6bf9d6c035c33b7627830d939ce49077dc7718a5b26bb4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / cookietuner-0.2.2-py3-none-any.whl

Download URL cookietuner-0.2.2-py3-none-any.whl
Size 20.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7d7528decc691a9ac989c0a73527d0eba818439e1f8e650963d0711b9c094930
BLAKE2b-256 checksum
How to use checksums
69c1ab87ea209d7bd93273ed44e21c668f5a3d313540aaca80faabefb216cefe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.4

2 release files

0.2.3

2 release files

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page