Streamlit header
A header is a formatted text element that serves as a section title.
Streamlit headers help divide your app into logical sections.
Need a Streamlit developer? Click Here
Syntax
st.header(body, anchor=None, *, help=None, divider=False, width=”stretch”)
| Parameter | Type / Values | Description |
|---|---|---|
| body | str | The text to display as GitHub-flavored Markdown. Supports directives from st.markdown. |
| anchor | str, False, or None | Anchor name for linking (#anchor in URL). If omitted, auto-generates from body. If False, no anchor is shown. |
| help | str or None | Tooltip displayed next to the header. Supports GitHub-flavored Markdown. If None, no tooltip is shown. |
| divider | bool or str ("blue", "green", "orange", "red", "violet", "yellow", "gray"/"grey", "rainbow") | Displays a divider below the header. • True: Cycles through colors (blue → green → orange …). • str: Sets divider color explicitly. |
| width | "stretch", "content", or int | Defines header width. • "stretch": Match parent width (default). • "content": Fit content width (max = parent). • int: Fixed pixel width (up to parent width). |
Example 1
import streamlit as st
st.header("_Streamlit_ is :blue[cool] :sunglasses:")
Example 2
import streamlit as st
st.header("This is a header with a divider", divider="gray")
st.header("These headers have rotating dividers", divider=True)
st.header("One", divider=True)
st.header("Two", divider=True)
st.header("Three", divider=True)
st.header("Four", divider=True)
Example 3
Grouping sections with headers
Here, headers act like anchors for each workflow step.
import streamlit as st
st.header("Upload Data")
st.file_uploader("choose file")
st.header("Preview Data")
st.dataframe({"Name": ["Alice", "Bob"], "Score": [85, 92]})
st.header("Analysis")
st.success("Model trained successfully!")
Example 4
Dynamic headers
Here, we change headers based on user input
option = st.selectbox("Choose Section", ["Home", "About", "Contact"])
st.header(f"You selected: {option}")
Example 5
Conditional headers
score = 80
if score > 90:
st.header("🎉 Excellent Performance!")
else:
st.header("📈 Keep Improving!")
Example 6
Inside Expanders
with st.expander("See More"):
st.header("Hidden Section")
st.write("Content revealed inside.")
Example 7
Header with Icon
we can add icons to headers also.
st.header("🔍 Data Exploration")
Summary
`Use headers to divide major sections (Overview, Analysis, Results)
Use subheaders for smaller subsections
Don’t overuse colors & emojis → keep it professional
Combine headers with layout (columns, expanders, tabs)`
Learn more about Strealit: Click Here
Watch Video’s on Streamlit:
