This tool is a desktop application that allows users to convert exported ChatGPT-style chat conversations (in JSON format) into cleanly formatted Markdown files.
OpenAI's ChatGPT conversations, when exported, are stored in nested JSON files that are difficult to read or repurpose. This program extracts the meaningful messages from those JSON files and outputs them in a simple, readable Markdown format suitable for archiving, sharing, or publishing.
- Quickly converts complex, nested JSON chat logs into readable Markdown documents.
- Clean and user-friendly graphical interface — no coding knowledge required.
- Great for documenting conversations, note-taking, publishing Q&A, and archiving AI interactions.
This program is written in Python and uses built-in libraries only. No additional installations are needed beyond a standard Python setup.
Dependency | Description |
---|---|
tkinter |
Powers the graphical user interface (buttons, file selection). Comes pre-installed with Python. |
json |
Handles reading and parsing of the exported JSON chat file. Built-in. |
os |
Helps manage file paths and file I/O. Built-in. |
-
Install Python (if not already installed)
- Download from the official site: https://www.python.org/downloads
- Choose Python 3.7 or newer.
-
Verify installation
Open a terminal or command prompt and type:python --version
-
No additional libraries required
All libraries used are included in the standard Python installation.
- Visit the GitHub repository page.
- Click the green "<> Code" button.
- Choose "Download ZIP".
- Extract the ZIP file to a location of your choice.
- Open a terminal (or command prompt).
- Windows: Press
Win + R
, typecmd
, and press Enter. - Mac/Linux: Use your system’s Terminal app.
- Windows: Press
- Navigate to the folder where you extracted the script:
cd path/to/extracted/folder
- Run the Python script:
python chat2markdown.py
The application window will open automatically.
-
Launch the App
A simple GUI window will appear titled “JSON to Markdown Converter”. -
Select Input File
- Click the “Browse” button next to Select JSON File.
- Choose your exported ChatGPT-style JSON conversation file.
-
Choose Output Location
- Click the “Browse” button next to Save Markdown As.
- Choose where to save the Markdown file and what to name it (e.g.,
chat_output.md
).
-
Click Convert
- Press the Convert button.
- A success message will appear once conversion is complete.
- The program expects a ChatGPT-style JSON structure that includes:
- A top-level list
- A
mapping
key with messages containingmessage
,author
,content
,parts
, andcreate_time
.
- A
.md
(Markdown) file with:- User messages displayed in blockquote format.
- Assistant responses shown in code blocks.
- Clean formatting with horizontal rules between each exchange.
- No configuration files or command-line arguments required.
- All interactions are performed through the GUI.
Situation: A user chats with ChatGPT about how to design a resume.
Action: They export the conversation JSON and run this tool.
Result: A Markdown version is saved and used in their documentation or Notion page.
Situation: A support team uses ChatGPT to answer common customer questions.
Action: After collecting chats, they convert them to Markdown.
Result: Easy-to-read internal documentation of Q&A interactions.
Situation: A blogger wants to publish a guide showing a ChatGPT-generated solution.
Action: They convert the exported JSON and paste the Markdown directly into a blog post.
Result: Clean formatting and consistent presentation of the chat.
- The contents of this repository may change at any time without prior notice.
- Future updates may render parts of this README file obsolete.
- This software is provided “as-is”, with no guarantees regarding performance, compatibility, or correctness.
- The developer makes no commitment to maintain, support, or update this codebase.