Skip to content

HasNetwork/pydesigner

Repository files navigation

PyDesigner

PyDesigner Logo

The modern alternative to bulky GUI builders.
Generate clean, object-oriented Python GUI code directly in your browser.

Live Demo

Next.js Python TypeScript Vercel Tkinter PyQt5 CustomTkinter


🎯 What is PyDesigner?

PyDesigner is a free, online Python GUI builder that lets you design user interfaces visually and export production-ready code. No installation, no dependencies – just open your browser and start designing.

Whether you're building a Tkinter desktop app, a modern CustomTkinter interface, or a professional PyQt5 application, PyDesigner generates clean, maintainable Python code in seconds.


✨ Features

Feature Description
🖱️ Drag-and-Drop Widget Placement Intuitive visual designer – place buttons, labels, inputs, and more with pixel-perfect precision
Real-Time Code Preview See your Python code update instantly as you design
🎨 Multiple Framework Support Export to Tkinter, PyQt5, or CustomTkinter with one click
📦 ZIP Download with Dependencies Download your script bundled with requirements.txt
🖼️ Custom Window Icons Upload icons that get embedded directly into your script (Base64)
📋 Template Library Start from pre-built templates or community contributions
🌙 Dark/Light Mode Comfortable designing in any lighting condition
💾 Auto-Save & Export Save projects to browser storage or export as JSON
🆓 100% Free No accounts, no limits, no watermarks

Quick Start (Self-Hosting)

# Clone the repository
git clone https://github.com/yourusername/pydesigner.git
cd pydesigner

# Install dependencies
npm install

# Run development server
npm run dev

Open http://localhost:3000 in your browser.

Production Build

npm run build
npm start

🛠️ Supported Widgets

  • Button – Clickable buttons with custom styling
  • Label – Text display with font customization
  • Entry – Single-line text input with placeholder support
  • TextArea – Multi-line text input
  • Checkbox – Boolean toggle controls
  • Radio Button – Single-select option groups
  • ComboBox – Dropdown selection
  • Frame – Container for grouping widgets
  • Slider – Range value selection
  • ProgressBar – Visual progress indicator

Roadmap

We're actively developing new features:

  • Kivy Support – Cross-platform mobile GUI framework
  • PySide6 Support – Qt for Python (LGPL licensed)
  • wxPython Support – Native look on all platforms
  • Grid Layout Mode – Snap-to-grid widget alignment
  • Theme Editor – Custom color schemes for generated apps
  • Component Library – Pre-built UI patterns (login forms, settings panels)
  • Collaborative Editing – Real-time multiplayer design

🔧 Tech Stack

  • Frontend: Next.js 14, React 19, TypeScript
  • Styling: Tailwind CSS
  • State Management: Zustand
  • Drag & Drop: @dnd-kit
  • Code Highlighting: Prism React Renderer
  • Deployment: Vercel

🤝 Contributing

Contributions are welcome! Whether it's:

  • 🐛 Bug reports
  • 💡 Feature requests
  • 📝 Documentation improvements
  • 🎨 Template submissions

Please open an issue or submit a pull request.


📄 License

MIT License – feel free to use PyDesigner for personal and commercial projects.


⭐ Star this repo if PyDesigner helped you build Python GUIs faster!

🌐 Live Demo📖 Documentation🗺️ Roadmap