GitPedia

PyUIBuilder

Python GUI builder. GUI builder for Tkinter, CustomTkinter, Kivy(upcoming) and PySide

From PaulleDemonΒ·Updated June 25, 2026Β·View on GitHubΒ·

**PyUIBuilder** is a Python GUI builder. GUI builder for Tkinter, CustomTkinter, Kivy(upcoming) and PySide The project is written primarily in JavaScript, distributed under the Other license, first published in 2024. It has gained significant community traction with 2,452 stars and 202 forks on GitHub. Key topics include: customtkinter, gui, gui-builder, kivy-framework, pyqt.

<p align="center"><img src="./repo-assets/logo/PyUi.png" alt="font tester logo" width="100" height="100"></p> <p align="center"> <h1> PyUIBuilder - Python GUI Builder </h1> </p>

Build python GUIs like Canva

<!-- <p align="center"> <a href="https://twitter.com/share?url=https://github.com/PaulleDemon/PyUIBuilder&text=Check out PyUIBuilder tool"> <img src="./repo-assets/share/1.png" height="35" /> </a> <a href="https://www.reddit.com/submit?url=https://github.com/PaulleDemon/PyUIBuilder&title=Check out PyUIBuilder tool"> <img src="./repo-assets/share/4.png" height="35" /> </a> <a href="https://www.linkedin.com/shareArticle?mini=true&url=https://github.com/**PaulleDemon**/PyUIBuilder&title=check out PyUIBuilder tool"> <img src="./repo-assets/share/2.png" height="35" /> </a> <a href="https://youtube.com/"> Build Python GUI's with ease of Drag and drop builders. <img src="./repo-assets/share/3.png" height="35" /> </a> </p> -->

<a href="https://www.producthunt.com/posts/pyui-builder?embed=true&utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-pyui&#0045;builder" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=949514&theme=light&period=daily&t=1744818177482" alt="PyUI&#0032;Builder - Build&#0032;Python&#0032;GUIs&#0032;like&#0032;Canva | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>

https://github.com/user-attachments/assets/57addb9c-d018-4be9-894d-c7cbce5ff55f

<!-- https://github.com/user-attachments/assets/ac91aa98-843d-4578-b646-88e66bc113de -->

<sub>Don't like background music? feel free to mute it</sub>

Try PyUIBuilder

Try it PyUIBuilder

About About PyUiBuilder

PyuiBuilder - Python GUI Builder

Roadmap: You can check whats upcoming on Roadmap

What's new: You can check what's new here

Funding development:
<br>
I am Paul, a solo-developer, which means I work on this project all by myself from design to coding to maintaing the project.
<br/>
<br/>
so, if you'd like to support the development, you can purchase a license with a one time payment, for a limited time, which will give you instant access to all the premium features
for life. Thank you for your support! appreciate it very much
<br/>
<br/>
Best,
<br/>
Paul

Note: premium features are being added and maintained in private

Table of contents

Resources

  1. Youtube - PyUibuilder playlist
  2. Creating sign up form Blog
  3. Discord Invite

Docs - Getting started

Read the docs on the Docs page

Example app

<img src="./demos/sample.png" alt="demo" width="600">

Output code generated for tkinter

py
# This code is generated by PyUIbuilder: https://github.com/PaulleDemon/PyUIBuilder import tkinter as tk from tktimepicker import AnalogPicker, AnalogThemes, constants import tkintermapview main = tk.Tk() main.config(bg="#332f2f") main.title("Main Window") timepicker = AnalogPicker(parent=main, type=constants.HOURS12) timepicker_theme = AnalogThemes(timepicker) timepicker_theme.setNavyBlue() timepicker.place(x=80, y=145, width=250, height=350) map_viewer = tkintermapview.TkinterMapView(master=main) map_viewer.place(x=423, y=181, width=400, height=250) label = tk.Label(master=main, text="Sample text") label.config(bg="#E4E2E2", fg="#000") label.place(x=83, y=69, width=130, height=46) button = tk.Button(master=main, text="Click me") button.config(bg="#65ff4a", fg="#0b0909") button.place(x=457, y=108, width=80, height=40) main.mainloop()

Output produced tkinter (linux)

<img src="./demos/demo-output.png" alt="demo" width="600">

Tkinter is OS dependent, output may vary based on OS.

3 Easy steps.

  1. Select a UI library/framework.
  2. Drag and drop widgets.
  3. Generate and download the code.

Features

While there are a lot of features, here are few you need to know.

  • Framework agnostic - Can outputs code in multiple frameworks.
  • Pre-built UI widgets
  • Plugins to extend 3rd party UI libraries
  • Supports layout managers, such as flex, grid and absolute positioning read docs
  • Generates python Code.
  • Support to upload local assets.
  • Generates requirements.txt file when needed

Supported Frameworks/Libraries

  • Tkinter
  • CustomTkinter
  • Kivy (work in progress)
  • PySide (work in progress)

Roadmap

Here are some of the upcoming features.

  • Support for Event Handlers
  • Pyqt/PySide Support
  • Downloadable Electron app and more.

To learn more/ see upcoming features visit roadmap

To stay in loop, subscribe to the free newsletter

License - Fund the development

Help fund development of this and upcoming projects by purchasing a one-time license.

Purchasing License will give you discounted price and provide you access to more advance features, early access and more.

The discount's will be available for limited time only on pre-orders.

TypeFreePremium - Hobbyist / Per userPremium - Commercial / Per user
Support open-source developmentπŸ‘οΈπŸ˜ŽπŸš€
Priority support - (prioritize your feature requests, issues)community supportβœ…βœ…
Lifetime license (one-time purchase)πŸ‘οΈβœ…βœ…
Early access to upcoming featuresβŒβœ…βœ…
Downloadable Electron App (upcoming)βŒβœ…βœ…
Premium widgets(tabbed widget, scroll widget etc)βŒβœ…βœ…
Run Preview live(upcoming)βŒβœ…βœ…
Save and Load UI filesβŒβœ…βœ…
Load 3rd party plugins locallyβŒβœ…βœ…
Dark themeβŒβœ…βœ…
Commercial UseβŒβŒβœ…
Support for PyQt/PySide frameworks (upcoming)βŒβŒβœ…
More upcoming features and supportβ“οΈβœ…βœ…
Price-$129 $29 (save 77.52% for limited time on pre-order)180 $49 (Save 72.78% for a limited time on pre-orders)
order now!Get licenseGet license

Newsletter

Join the free newsletter to know about upcoming updates, learn how I built this tool and more about open-source.

Join free newsletter

Keep yourself updated

To keep up with the latest developments considering starting ⭐️ this repo

Tested on

Depending on whether your Browser supports native HTML drag and drop, it may work differently.
I haven't tested on Safari, since I don't have a Macbook, feel free to let me know if it works.

  • Chrome
  • Edge
  • FireFox
  • Safari (Not tested on safari)

FAQ

  1. Why do I need a GUI builder?

    A. GUI builders assist you quickly create GUI without learning too much about GUI frameworks. It can also help you quickly prototype and see things visually.

  2. Do I need to purchase a license to use this?

    A. Webbased editor will remain free to use. To support open-source development, If you want a downloadable exe for local development and additional features, you'll need to purchase license based on your needs (hobbiest / commercial)

  3. How does this compare to other UI builders?

    A.

    • Most GUI builders out there are framework specific, this UI Builder tool is framework independent.

    • This outputs code in Python, not in XML or other formats which can be hard to debug. So its easier to modify even after downloading the code.

    • Support for 3rd party UI libraries. Many GUI builders don't come with support for 3rd party libraries.

  4. Why doesn't the theme of the GUI builder match the theme of Tkinter?

    A. Tkinter is a OS-dependent library, so it would render differently on different OS. Having a common UI the the GUI builder makes it simpler for development.

    If you want a live preview before generating the code you can get a premium license and you'll be notified when that feature releases.

License Information

To support development of this project, license differ depending on the usecase.

Web-based Editor

  • All code generated by the builder tools are licensed under MIT and can be used commercially

Electron App - Hobbyist License

This is meant for students and hobbyist

  • All code generated by the builder tools are free to use for non-commercial purposes. If you are using
    this for a startup or your business you'll need to get a business license.

Electron App - Commercial License

This is meant for business usecases, you can use the code even for commercial use.

  • All code generated by the builder tools are free to use for commercial and non-commercial purposes. If you are using this for a startup or your business you'll need to get a commercial license.

Contributing

To run it locally you'll need to add .env-cmdrc.json with the following in it. This file should be in the root directory

json
{ "development":{ "REACT_APP_ANALYTICS_SCRIPT_ID": "" }, "production":{ "REACT_APP_ANALYTICS_SCRIPT_ID": "" } }

For contributing read here

Some of my other open-source

Author

  • Paul
  • Github: PaulleDemon

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub β†’

This article is auto-generated from PaulleDemon/PyUIBuilder via the GitHub API.Last fetched: 6/25/2026