- Category
- Developer Tools
- Rank
- No. 1042Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- karpathy
- GitHub
- 2.5k stars
- Date
About
Andrej Karpathy's tool that renders any git repo into a single static HTML page — perfect for human reading or feeding the whole codebase to an LLM.
What it does
Give rendergit a GitHub repository URL and it clones a shallow snapshot into temporary storage. It builds a browser document with highlighted code, rendered Markdown, navigation, repository-wide search through the browser, and a copyable CXML view for language models.
Why it's ranked here
This is a focused utility with unusually low workflow friction. One command produces both a readable browsing surface and prompt-ready text, while filtering binary and oversized content. Its narrow scope is clear, but the maintainer explicitly signals limited support intentions.
What's good
The human view combines syntax highlighting, rendered documentation, file sizes, a directory tree, and direct navigation. The alternate view packages included text files as structured CXML. A built-in tree fallback avoids requiring an optional system utility.
Tradeoffs
The default size ceiling excludes files over 50 KiB, and binary detection uses extensions plus simple content heuristics. Symbolic links are skipped, cloning captures only shallow history, and output lives in temporary storage. The author does not intend substantial maintenance or support.
How to use it well
Use it for quick repository orientation, broad code review, browser search, and preparing source context for a language model. It best suits mostly textual, reasonably small repositories. It does not replace history-aware Git tooling, durable documentation publishing, or workflows centered on large assets.
Technical notes+
rendergit.py contains the cloning, collection, filtering, highlighting, Markdown conversion, CXML generation, and HTML assembly in one module. git_clone() shells out to git clone --depth 1; collect_files() recursively scans with pathlib, skips symlinks, and applies a 50 KiB default limit plus binary heuristics. try_tree_command() uses the external tree command when available and falls back to an internal walker. pyproject.toml exposes rendergit:main as the CLI, requires Python 3.10 or newer, and declares Markdown and Pygments dependencies. uv.lock pins the resolved dependency set.
Observed
- License
- 0BSD
- Primary language
- Python
- Python requirement
- Python 3.10 or newer
- Install surface
- Installable from Git with uv, or as an editable package with pip
- Interface
- Command-line application exposed as rendergit
- Runtime dependencies
- Markdown and Pygments
- Repository structure
- Core implementation is contained in one Python module; no test directory appears in the provided tree
Read from README.md, pyproject.toml, rendergit.py, uv.lock.
What it can do
Render git repository into HTML
Git repository → Single static HTML page
Convert codebase for human reading
Git repository → Human-readable HTML representation
Prepare codebase for LLM consumption
Git repository → LLM-ready formatted content
Consolidate repository files into single document
Multiple files in git repository → Unified HTML document
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
