A GUI application to convert Telegram chat JSON exports to XML format with filtering options.
- Python 3.7 or higher
- Tkinter (usually comes with Python)
- First, ensure you have Python installed:
python3 --version
- If Python is not installed, install it using Homebrew:
brew install python
- Verify Tkinter is installed (it usually comes with Python):
python3 -c "import tkinter; tkinter._test()"
If you see a test window appear, Tkinter is installed correctly.
- If Tkinter is missing, you can install it with:
brew install python-tk
There are several ways to run the application:
Simply double-click the Run Converter.command
file in Finder.
Double-click or run the run.sh
script.
- Open Terminal and navigate to the project directory:
cd path/to/json-to-xml-tgchat
- Run the script:
python3 jsontoxml.py
- Click "Select JSON file" to choose your Telegram chat export file
- The output location will automatically be set to the source file directory
- Adjust export options as needed:
- Enable/disable human-readable format
- Include/exclude reactions
- Filter by date range
- Select specific authors (for private chats)
- Click "CONVERT" to process the file
- The converted XML file will be saved in the selected output directory
If you encounter any issues:
- Verify Python installation:
which python3
- Check Tkinter installation:
python3 -c "import tkinter; print(tkinter.TkVersion)"
- If you see permission errors, you might need to run:
chmod +x jsontoxml.py
chmod +x run.sh
chmod +x "Run Converter.command"
- If the double-click methods don't work:
- Right-click the file
- Select "Open With" → "Terminal"
- Click "Open" if prompted about security
For additional help, click the "HELP" button in the application interface.