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.11+.
  • 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.3

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.3
File Size Uploaded
cookietuner-0.2.3.tar.gz 17.2 kB Details

Built distribution (wheel)

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

Total release size: 37.5 kB

Release files / cookietuner-0.2.3.tar.gz

Download URL cookietuner-0.2.3.tar.gz
Size 17.2 kB
Tags Source
SHA-256 checksum
How to use checksums
02348f0e9bfbec67cd5f975ee0c5137080f51fb79890aa04a3344ad50d19f3a7
BLAKE2b-256 checksum
How to use checksums
111ab77de4b44b4e4dc26149d65d1fb537dc717a52061e0bb680591f9b7d1cb1
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.3-py3-none-any.whl

Download URL cookietuner-0.2.3-py3-none-any.whl
Size 20.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eda493ecccc956fdcec21c20c9a804225562496c4554a27c65d7ab85e208824d
BLAKE2b-256 checksum
How to use checksums
2e92b1012ca053cc3d57ecfdb6fc5efc472ff2e14f98553deca42dcc5fb69406
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

This release

0.2.3 This release

2 release files

0.2.2

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