Interactive tool

Streamlit badge designer

Design badge grids with Material Icons, colour presets, and dark mode preview. Copy the generated Python code directly into your Streamlit app.

Quick Presets
Grid Settings
Per Row
Size
Gap
12
Preview
Badges (4)
localhost:8501
check_circleApproved
3 items
pendingPending
12 items
errorFailed
1 item
analyticsScore: 94

Design badges → Copy Python code → Paste into your Streamlit app

Frequently asked questions

How do I add custom HTML badges to a Streamlit app?expand_more

Use st.markdown() with the unsafe_allow_html=True parameter. Pass an HTML string containing styled <div> elements for your badges. This designer generates the full HTML and wraps it in a st.markdown() call you can copy directly into your app.

Can I use Material Icons in Streamlit?expand_more

Yes. Add the Material Icons CSS via st.markdown() at the top of your app: st.markdown('<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">', unsafe_allow_html=True). Then use <span class="material-icons">icon_name</span> inside your HTML. This designer handles the import automatically.

How do I create a KPI dashboard header in Streamlit?expand_more

Use a grid of styled HTML badges inside st.markdown(). Define a CSS grid with display:grid and grid-template-columns, then place metric cards with icons, labels, and sublabels. This designer lets you build that layout visually and exports the Python code.

Does st.markdown support dark mode styling?expand_more

st.markdown() renders whatever HTML you give it, so dark mode styling is entirely in your hands. Set dark background colours and light text colours in your inline styles. This designer has a dark mode toggle that adjusts the preview and all generated code automatically.