Skip to main content
Streamlit gives you several layout tools to make your app easier to read and more interactive. Use the sidebar for filters, navigation, or configuration controls.

Columns

Split content across multiple columns.

Containers and expanders

Use containers and expanders to group related content and keep the page tidy.

Tabs

Tabs help you show multiple views without clutter.

Forms

Forms group several inputs together and submit them at once.

Session State

Use st.session_state to keep values between reruns.

Callbacks

Callbacks run when a widget changes value.

Progress bars and spinners

Show loading state while work is happening.

What’s next?

The next step is to work with real datasets in your app.

Working with Data

Learn to read CSV files, filter rows, and create charts