Skip to main content
Meet Flet 1.0

Your next app.
Built in Python.

Build beautiful web, desktop, and mobile apps from one Python codebase.

No frontend experience required. Just Python.

My first Flet app
A to-do app built with Flet, with editable tasks and completion filters
Flet Gallery running on an iPhone
Real apps. All Python.

One codebase.
Make yourself at home.

  • iOS
  • Android
  • Windows
  • macOS
  • Linux
  • Web
A SIMPLE EXAMPLE

Your first Flet app.

Start with a simple counter to see how Flet turns Python code into an interactive app.

  1. Build the interface

    Use ready-made controls for the text and button. Arrange them with Python.

  2. Add the behavior

    Connect the button to a Python function that increases the count.

TRY IT YOURSELF
Try online

Open Flet Studio.
No installation needed.

Try locally

Follow the installation guide for uv or pip.

counter.py

Imperative: update the controls directly when the button is clicked.

Compare the two styles
import flet as ft


def main(page: ft.Page):
counter = ft.Text("0", size=50, data=0)

def increment(e):
counter.data += 1
counter.value = str(counter.data)

page.floating_action_button = ft.FloatingActionButton(
icon=ft.Icons.ADD, on_click=increment
)
page.add(
ft.Container(
content=counter,
alignment=ft.Alignment.CENTER,
expand=True,
)
)


ft.run(main)
flet run counter.py
BUILT FOR THE WHOLE JOURNEY

More than a pretty interface.

The controls, libraries, and tools to take your app from an experiment to something you ship.

Good-looking Python GUIs

150+ controls and services. Layouts, navigation, forms, and dialogs, with customizable colors, typography, and themes.

Explore the controls

Your Python libraries. On mobile.

Bring NumPy, pandas, Pillow, and cryptography along. Prebuilt packages for iOS and Android save you the work of compiling native dependencies.

Browse Python packages

Ready to ship

Package your app for desktop, mobile, and web with flet build. Prepare it for distribution, including the App Store and Google Play.

Build and publish

The web, your way

Run Python in the browser with Pyodide and WebAssembly, or keep your code on a server and send real-time UI updates.

Explore web deployment

Test your app

Write pytest tests that tap buttons, enter text, and check user flows in your packaged app. Catch visual changes with screenshots on iOS and Android.

Test your app

Give your AI the right context

Connect your coding assistant to Flet MCP for version-specific API information and tools to find examples, icons, and CLI options.

Connect Flet MCP

Make it your own

Compose custom controls in Python or wrap Flutter packages in extensions to add new UI components and platform integrations.

Build an extension

Build for more people

Support screen readers with labels and custom semantics. Add keyboard shortcuts and inspect the accessibility information your UI exposes.

Explore accessibility
MEET FLET STUDIO

An idea is a
great place to start.

Open your browser. Pick an example, write some Python, or ask the AI agent for a hand. Run your app and share what you make.

Create in Studio No installation required.
01

Find your starting point

Explore the Gallery and make an example your own.

02

Make it work your way

Edit the code, get help from AI, and see your app run.

03

Share what you made

Send a link, or download your project and keep building locally.

Explore the Gallery
MADE BETTER, TOGETHER

Your app. Our community.

Share an idea, ask a question, or help shape what comes next. Flet is open source, and you're invited.