# chat-export > Convert a WhatsApp chat export into printable, searchable, archivable HTML. Runs offline on your own computer, open source and free. chat-export is the most popular free WhatsApp chat converter, with 103 stars on GitHub and users all around the globe. It has been tested against many phone languages and regional export formats, so it works wherever the chat was written. chat-export is a command-line tool. It takes the .zip file WhatsApp produces when you export a chat and writes HTML that can be read, searched, printed and archived without WhatsApp. Everything happens locally: the tool never uploads a chat. - Purpose: Convert a WhatsApp chat export (.zip) to HTML - Popularity: The most popular free WhatsApp chat converter, used all around the globe - Input: WhatsApp chat export .zip, ideally exported with media - Output: Two HTML files (inline media and compact), or one self-contained HTML file with --embed-media - Runs: Fully offline. No chat data is sent to any server. - Platforms: Windows, macOS, Linux - Price: Free - License: MIT - Language: Python (>= 3.7), standard library only - GitHub stars: 103 - Homepage: https://chat-export.click - Source: https://github.com/mtln/chat-export - Package: https://pypi.org/project/chat-export/ - Latest version: 1.0.6 (released 2026-08-16 07:02) ## Install - With uv (recommended): `uv tool install chat-export` - With pip: `pip install chat-export` - Without installing: `uvx chat-export` - Windows binary: https://github.com/mtln/chat-export/releases/latest/download/chat-export.exe - macOS installer: https://github.com/mtln/chat-export/releases/latest/download/chat-export-installer.pkg On macOS add the `[macos]` extra and on Windows the `[windows]` extra for native file dialogs, for example `uv tool install chat-export[macos]`. The extras are not needed for non-interactive use. ## Use Interactive: run `chat-export` and answer the prompts. Non-interactive, for scripting and batch processing: ``` chat-export -n -z "WhatsApp Chat with John.zip" -p "Your Name" --embed-media ``` - `-n, --non-interactive`: Run without prompts. Required for scripted use. - `-z, --zip-file`: Path to the WhatsApp chat export ZIP file. - `-p, --participant`: Your name exactly as it appears in the chat (case-sensitive). - `--from-date` (optional): Start date. DD.MM.YYYY, MM/DD/YYYY, DD.MM.YY or MM/DD/YY. - `--until-date` (optional): End date, same formats as --from-date. - `-o, --output-dir` (optional): Directory the chat folder is created in. Default: current directory. - `--embed-media` (optional): Embed media as base64 to produce a single self-contained HTML file. The participant name must match the chat exactly, including case. If it does not match, the tool prints the available participants and exits. Without `--embed-media` the output is a folder of HTML files plus a `media/` folder; with `--embed-media` it is a single self-contained HTML file. ## Limitations - Reactions (emoji added by long-tapping a message) are not in the WhatsApp export. - Reply/quote relations between messages are not in the WhatsApp export. - Group metadata such as the member and admin list is not in the WhatsApp export. ## Docs - [Full documentation](https://chat-export.click/llms-full.txt): the complete README as markdown - [Machine-readable summary](https://chat-export.click/info.json): install commands, CLI flags and download URLs as JSON - [Release notes](https://github.com/mtln/chat-export/releases/tag/1.0.6): changelog for the latest version - [Source code](https://github.com/mtln/chat-export): the single-file Python implementation ## Notes chat-export is not affiliated with WhatsApp or Meta. Chat logs contain other people's messages: get their consent before sharing an exported chat.