Convert Codex CLI session files (JSONL) to clean, mobile-friendly HTML pages with pagination.
Install with uv:
uv tool install codex-transcriptsOr run without installing:
uvx codex-transcripts --helpThis tool converts Codex session files into browsable multi-page HTML transcripts.
Commands:
local(default) – select from local Codex sessions stored in~/.codex/sessionsjson– convert a specific JSONL session file (or URL)all– convert all local sessions to a browsable HTML archive
Quickest way to view a recent local session:
codex-transcriptsAll commands support these options:
-o, --output DIRECTORY– output directory (default:./transcriptsand open browser)-a, --output-auto– auto-name output subdirectory based on session filename--repo OWNER/NAME– GitHub repo for commit links (auto-detected from git push output if not specified)--open– open the generatedindex.htmlin your default browser (default if no-ospecified)--gist– upload the generated HTML files to a GitHub Gist and output a preview URL--json– include the original session file in the output directory
The generated output includes:
index.html– an index page with a timeline of prompts and commitspage-001.html,page-002.html, etc. – paginated transcript pages
Local Codex sessions are stored as JSONL files in ~/.codex/sessions.
codex-transcripts
# or explicitly:
codex-transcripts localUse --limit to control how many sessions are shown (default: 10):
codex-transcripts local --limit 20Convert a specific session file directly:
codex-transcripts json /path/to/session.jsonl -o output-directory/The json command can also take a URL to a JSON/JSONL file.
Use --gist to upload your transcript and get a shareable preview URL:
codex-transcripts --gist
codex-transcripts json session.jsonl --gistRequirements: The --gist option requires the GitHub CLI (gh) to be installed and authenticated.
Convert all local Codex sessions to a browsable HTML archive:
codex-transcripts allOptions:
-s, --source DIRECTORY– source directory (default:~/.codex/sessions)-o, --output DIRECTORY– output directory (default:./codex-archive)--include-agents– includeagent-*session files (excluded by default)--dry-run– show what would be converted without creating files--open– open the generated archive in your default browser-q, --quiet– suppress all output except errors
Vibecoded by codex in 15 mins by copy-clonning simonw's claude-code-transcripts.