TutorDraw is a powerful annotation and drawing tool designed for educators, presenters, and content creators. It provides a seamless overlay canvas that allows you to draw, annotate, and highlight directly on your screen during presentations, tutorials, or demonstrations.
- Pencil: Freehand drawing tool
- Highlighter: Text-aware highlighting that aligns with existing text
- Shapes: Rectangle, Circle, Diamond, Arrow, Triangle, Hexagon, Pentagon, Octagon, Star, and more
- Advanced Shapes: Double Arrow, Curved Arrow, Cloud, Callout, Speech Bubble
- Text: Add text annotations with customizable font properties
- Laser Pointer: Smooth animated laser pointer for presentations
- Eraser: Remove annotations selectively
- Zoom: Magnify specific areas of the screen
- Text-Aware Highlighting: Automatically detects and aligns with existing text for precise highlighting
- Selection & Transformation: Select, move, resize, and rotate drawn elements
- Fill Mode: Fill shapes with color
- Undo/Redo: Full editing history support
- Theme Support: Light and Dark themes with customizable colors
- Auto-Hide: Toolbar automatically hides when not in use but stays accessible during interaction
- Peek Functionality: Hover over the hide icon to temporarily show the toolbar
- Toggle Visibility: Use Ctrl+Shift+H to show/hide the toolbar
- Orientation: Switch between horizontal and vertical toolbar layouts
- White Board (Default): Full white background to hide other applications
- Black Board: Full black background to hide other applications
- Transparent Annotation: Draw on top of existing content
- Left Sidebar: Excalidraw-like sidebar for changing canvas color and fill settings
- Keyboard Shortcut: Ctrl+Shift+B to toggle board on/off
- No Fill Button in Toolbar: Fill options moved to sidebar
- Reset to Defaults: One-click reset all settings to default values
- Whiteboard Mode: Solid background for clear presentations
These shortcuts work even when TutorDraw is running in the background!
| Shortcut | Function |
|---|---|
| Ctrl+Alt+P | Pencil tool |
| Ctrl+Alt+R | Rectangle tool |
| Ctrl+Alt+E | Ellipse/Circle tool |
| Ctrl+Alt+A | Arrow tool |
| Ctrl+Alt+T | Text tool |
| Ctrl+Alt+X | Eraser |
| Ctrl+Alt+V | Select mode |
| Ctrl+Alt+M | Mouse mode |
| Ctrl+Alt+H | Toggle toolbar visibility |
| Ctrl+Alt+B | Toggle board mode on/off |
| Ctrl+Alt+Z | Undo |
| Ctrl+Alt+Y | Redo |
| Ctrl+Alt+C | Clear canvas |
| Ctrl+Alt+S | Full Screen Screenshot |
| Ctrl+Alt+Shift+S | Area Screenshot |
| Ctrl+Alt+L | Long Screenshot (Scrolling) |
| Ctrl+Alt+Shift+L | Scrolling Screenshot |
| Ctrl+Alt+Rec | Start/Stop Recording |
| Ctrl+Alt+Shift+Rec | Record Area |
| Ctrl+Alt+F | Toggle Fill Mode |
| Shortcut | Function |
|---|---|
| Ctrl+Shift+H | Toggle toolbar visibility |
| Ctrl+V | Select mode |
| Ctrl+P | Pencil tool |
| Ctrl+R | Rectangle tool |
| Ctrl+D | Diamond tool |
| Ctrl+E | Ellipse/Circle tool |
| Ctrl+A | Arrow tool |
| Ctrl+T | Text tool |
| Ctrl+L | Laser pointer |
| Ctrl+X | Eraser |
| Ctrl+Shift+B | Toggle board mode on/off |
| Ctrl+I | Toggle text italic |
| Ctrl+Shift+> | Increase text size |
| Ctrl+Shift+< | Decrease text size |
| Ctrl+Z | Undo |
| Ctrl+Y | Redo |
| Esc | Exit application |
- Clone the repository:
git clone https://github.com/yourusername/TutorDraw.git
cd TutorDraw- Create and activate a virtual environment:
python -m venv .venv
# On Windows
.venv\Scripts\activate
# On macOS/Linux
source .venv/bin/activate- Install dependencies:
pip install -r requirements.txt- Run the application:
python main.pyDownload pre-built binaries from our releases page:
- Windows: Portable (.exe) and Installer (.msi) versions
- macOS: Portable (.app) and Installer (.dmg) versions
- Linux: Portable (AppImage) and Installer (.deb/.rpm) versions
- Android: APK for mobile devices
All binaries are available in 32-bit and 64-bit versions where applicable.
- Launch TutorDraw using
python main.py - The toolbar will appear at the top center of your screen
- Select a drawing tool from the toolbar
- Start drawing directly on your screen
- Freehand Drawing: Use the pencil tool for natural drawing
- Precise Shapes: Use shape tools for perfect geometric forms
- Text Annotations: Click the text tool and type your annotation
- Smart Highlighting: The highlighter automatically aligns with existing text
- Element Selection: Use the select tool to move, resize, or rotate drawn elements
- Layer Management: New drawings appear on top of existing ones
- Theme Customization: Switch between light and dark themes in settings
TutorDraw stores user preferences in tutordraw_settings.json:
- Custom keyboard shortcuts
- Laser pointer settings
- Default colors and thicknesses
- Toolbar orientation preferences
Create ALL installer packages for ALL platforms with a single command:
# Build everything automatically - creates MSI, DEB, RPM, AppImage, DMG, PKG, APK
python build.pyThis single command will:
- β Create Windows MSI installer
- β Create Linux DEB/RPM/AppImage installers
- β Create macOS DMG/PKG installers
- β Create Android APK installer
- β Organize everything in proper directories
Build for specific platforms when needed:
# Build for specific platform only
python build_complete.py --platform windows # Creates MSI installer
python build_complete.py --platform linux # Creates DEB/RPM/AppImage
python build_complete.py --platform macos # Creates DMG/PKG
python build_complete.py --platform android # Creates APK
# List all available build scripts
python build_complete.py --listbuild_dist/
βββ windows/
β βββ portable/
β β βββ TutorDraw-Win64-Portable.zip
β βββ installer/
β βββ TutorDraw-Installer.msi β COMPLETE MSI INSTALLER
βββ linux/
β βββ portable/
β β βββ TutorDraw-Linux64-Portable.tar.gz
β βββ installer/
β βββ TutorDraw-Ubuntu-Installer.deb β DEB for Ubuntu/Debian
β βββ TutorDraw-Fedora-Installer.rpm β RPM for Fedora/RHEL
β βββ TutorDraw-Linux-Installer.AppImage β Universal Linux
βββ macos/
β βββ portable/
β β βββ TutorDraw-macOS-Portable.app.zip
β βββ installer/
β βββ TutorDraw-Installer.dmg β DMG installer
β βββ TutorDraw-Installer.pkg β PKG installer
βββ android/
βββ installer/
βββ TutorDraw-Android-Installer.apk β COMPLETE APK INSTALLER
For developers who want granular control:
- Generate all installer build scripts:
python create_installers.py- Run platform-specific installer scripts:
# Windows (MSI)
build_dist\installers\build_windows_installer.bat
# Linux (DEB/RPM/AppImage)
bash build_dist/installers/build_linux_installer.sh
# macOS (DMG/PKG)
bash build_dist/installers/build_macos_installer.sh
# Android (APK)
bash build_dist/android/build_apk.sh- Windows: MSI installer with desktop shortcuts and registry entries
- Linux: DEB (Ubuntu/Debian), RPM (Fedora/RHEL), and AppImage (universal) packages
- macOS: DMG and PKG installers with proper application bundling
- Android: Signed APK installer ready for Google Play Store
The project includes a comprehensive .gitignore file that excludes:
- Build artifacts and output directories
- Python cache files and virtual environments
- IDE configuration files
- OS-specific files
- Log files and temporary files
To maintain the .gitignore file:
python maintain_gitignore.pyThis script will:
- Check currently ignored files
- Verify common patterns are included
- Add missing patterns if needed
- Provide maintenance tips
We welcome contributions from the community! Please see our CONTRIBUTING.md file for guidelines on how to contribute to this project.
This project is licensed under the MIT License - see the LICENSE file for details.
For support, feature requests, or bug reports, please open an issue on our GitHub repository.
- PyQt5 for the GUI framework
- All contributors who have helped make TutorDraw better