`st.filter_bar` widget to filter dataframes
Author: lukasmasuchCreated Sep 1, 2025Updated Sep 16, 2026
Labelstype:enhancementarea:arrowarea:widgetstype:possible-component
Checklist
- I have searched the existing issues for similar feature requests.
- I added a descriptive title and summary to this issue.
Summary
Provide a widget that a makes it easy to add filtering functionality to apps.
filtered_df = st.filter_bar(df)
Screenshot form https://ui.bazza.dev/docs/data-table-filter
Why?
Adding filter functionality requires using the existing widgets and adding them with glue code one-by-one. This can be quite an effort and take a lot of available screen space.
How?
filtered_df = st.filter_bar(df)
The filter bar will read out the dataframe schema and allow the user to filter all relevant columns based on data type specific UI filters.
Some considerations:
- If an unevaluated dataframe is passed on, only apply the filter to the unevaluated object without loading the data to memory.
- There could be parameters to allow specifying the allowed columns for filtering or even
column_configlike configuration abilities for the filters itself. - The filter bar can be placed anywhere, the same way as any other widget.
- We could reuse the same frontend component as standalone widget and integrate it to enable direct filtering for
st.dataframeand charts: https://github.com/streamlit/streamlit/issues/1879
Additional Context
Source: streamlit/streamlit