Thonny is a Python Tk-based IDE designed for novice programmers. It provides a beginner-friendly development environment suitable for novice programming students, while also offering many of the features and options needed from a modern IDE.
Thonny supports different ways of stepping through the code, step-by-step expression evaluation, detailed visualization of the call stack and a mode for explaining the concepts of references and heap.
While many coders will have cut their teeth using IDLE, Thonny is my recommended Python IDE for beginners. Although Thonny can be used as a general purpose lightweight IDE similar to IDLE, it was created to be used for the purposes of teaching and learning introductory programming.
The software is designed and developed by Aivar Annamaa at the University of Tartu.
Key Features
- Statement stepping without breakpoints.
- Live variables during debugging.
- Stepping through evaluation of the expressions (expressions get replaced by their values).
- Separate windows for executing function calls (for explaining local variables and call stack).
- Variables and memory can be explained either by using simplified model (name → value) or by using more realistic model (name → address/id → value).
- Faithful representation of function calls.
- Highlights syntax errors in code such as unclosed quotes and parentheses.
- Code commenting.
- Code completion – explore APIs with the help of code completion.
- Simple debugger.
- Support for stepping back in time during debugging.
- Support for display scaling / high-DPI screens.
- Simple pip GUI.
- Possibility to log user actions for replaying or analyzing the programming process.
- User Interface Themes – Clean Dark, Clean Dark Blue, Clean Dark Green, Clean Sepia, and Enhanced Clam.
- Syntax themes – Default Dark, Default Dark Blue, Default Dark Green, Default Light, Desert Sunset, IDLE Classic, Tomorrow, Tomorrow Night, Tomorrow Night Blue, Tomorrow Night Bright, Tomorrow Night Eighties, and Zenburn.
- Infrastructure for extensions.
- Cross-platform support – Windows, Linux and MacOS versions are available.
Website: thonny.org
Support: GitHub Code Repository, Blog, Mailing List
Developer: Aivar Annamaa and contributors
License: MIT License

Thonny is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Python Integrated Development Environments | |
|---|---|
| PyCharm | Full-featured IDE. Two editions are available, one is open source software |
| Spyder | Python development environment providing MATLAB-like features |
| eric | Full featured Python editor and IDE, written in Python |
| Thonny | Tk-based IDE designed for novice programmers |
| PyDev | Python plugin for Eclipse |
| Leo | PIM, IDE and outliner |
| Pyzo | Interactive editor for scientific Python |
| PTK | Interactive environment for Python |
| IDLE | Python’s Integrated Development and Learning Environment |
Read our verdict in the software roundup.
| Integrated Development Environments | |
|---|---|
| RStudio | Enterprise-ready professional software for R |
| PyCharm | Integrated Development Environment for Python |
| Neovim | Continuation and extension of Vim |
| Lapce | Fast and powerful code editor written in Rust |
| NetBeans IDE | Java based IDE from Apache |
| VSCodium | Binary distribution of VS Code |
| Eclipse | Java based environment combining a number of different Eclipse projects |
| Qt Creator | Cross-platform, complete Integrated Development Environment |
| Spyder | The Scientific Python Development Environment |
| KDevelop | An easy to use IDE for KDE |
| Helix | Post-modern modal text editor |
| Positron | Next-generation data science IDE |
| eric | Full featured Python editor and IDE |
| Thonny | Python Integrated Development Environment for Beginners |
| Lazarus | Delphi compatible cross-platform IDE |
| PyDev | Python Integrated Development Environment for Eclipse |
| Gambas | Development environment and a full powerful development platform |
| Leo | Python based IDE, Outliner and PIM |
| IntelliJ IDEA | IDE for Java, Groovy, and other languages |
| LiteIDE | Edit and build Go projects |
| Arduino IDE | Electronics prototyping platform |
| ZeroBrane Studio | Lightweight Lua-based IDE for Lua |
| CodeLite | Powerful and lightweight C/C++ IDE |
| Pyzo | Cross-Platform Python IDE focused on interactivity and introspection |
| DrRacket | IDE for the Racket programming languages |
| Builder | IDE for GNOME |
| Geany | Small and lightweight IDE based on Scintilla |
| Code::Blocks | Very extensible and fully configurable |
| Ecere SDK | Software development kit |
| Zasper | IDE for Data Science |
| U++ | Rapid application development framework |
| roobuilder | Vala and JavaScript IDE |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

