Installation¶
Requirements¶
- Python 3.14 or later — the package uses modern typing and language features
- uv ≥ 0.5 — recommended package manager (fast, lock-file-based)
Choose an installation mode¶
| Mode | Best for | Command |
|---|---|---|
uvx (ephemeral) |
First run, occasional conversions, no local install | uvx chatgpt-to-markdown --help |
uv tool install (global CLI) |
Frequent use with a persistent command | uv tool install chatgpt-to-markdown |
| Development install | Contributors working from source | uv sync --all-groups |
Run without installing (recommended for first use)¶
Run in an ephemeral environment via uvx (alias for uv tool run):
You can run a full conversion directly:
Install as a uv tool (recommended for frequent use)¶
Install the CLI as a managed tool (similar to pipx):
Then run it directly:
Development install (contributors)¶
If you are contributing code, clone the repository and install all dependency groups:
git clone https://github.com/difegam/chatgpt-to-markdown.git
cd chatgpt-to-markdown
uv sync --all-groups
For a local environment without dev/docs extras:
Run the local checkout command with:
Install with pip¶
Verify the installation¶
If you are using uvx:
If you installed as a tool:
If you are using a local development checkout:
Expected output:
Usage: chatgpt-to-markdown [OPTIONS] INPUT_DIR OUTPUT_DIR
Convert ChatGPT data export to offline Markdown archive.
Arguments:
INPUT_DIR Path to extracted ChatGPT export directory or ZIP file
OUTPUT_DIR Path to output Markdown archive directory
Options:
--redact-pii / --no-redact-pii [default: True]
--include-thinking [default: False]
--deduplicate / --no-deduplicate [default: True]
--help Show this message and exit.
Install uv¶
If you don't have uv yet:
See the uv documentation for full installation options.
Next steps¶
- Quickstart — convert your first export
- Configuration how-to — configure the converter