Streamlit Emojis
Emojis have become a universal visual language.
They are often utilized in applications and websites to:
Design the UI to be inviting and captivating.
Display status updates (✅, ❌, ⚠️)
Deliver immediate visual feedback
Improve data dashboards 📊
Streamlit does not have a dedicated emoji widget; however, it permits the use of emojis in any text field.
Headings and Titles
Buttons and checkboxes
Tables and Metrics
Alerts (st.success, st.warning, etc.)
👉 Emojis can be utilized in Streamlit using:
Unicode (copy and paste 😀)
Markdown (via st.markdown)
emoji repository (utilizing shortcodes such as :rocket: -> 🚀)
Need a Streamlit developer? Click here
Example1
Emojis in Titles and Text
import streamlit as st
st.title(“Welcome to Streamlit 🎉”)
st.header(“This is a header with an emoji 🚀”)
st.subheader(“Even subheader can have emojis 😎”)
st.write(“I love Streamlit 😍🔥”)
Note: I would be pasting the code as text due to the fact that the emojis are not showing on this article code display.
import streamlit as st
st.title("Welcome to Streamlit 🎉")
st.header("This is a header with an emoji 🚀")
st.subheader("Even subheader can have emojis 😎")
st.write("I love Streamlit 😍🔥")

Example 2
Emojis with Markdown.
import streamlit as st
st.markdown(“## 🎨 Streamlit Emoji Demo”)
st.markdown(“**Success:** ✅ Task completed!”)
st.markdown(“**Warning:** ⚠️ Be careful!”)
st.markdown(“**Error:** ❌ Something went wrong!”)
st.markdown(“**Info:** ℹ️ Useful information ahead!”)
st.markdown(“**Celebration:** 🎉 Great job, team!”)
st.markdown(“**Progress:** ⏳ Work in progress…”)
st.markdown(“**Question:** ❓ Need clarification?”)
st.markdown(“**Idea:** 💡 Bright suggestion incoming!”)
st.markdown(“**Alert:** 🚨 Urgent action required!”)
st.markdown(“**Done:** ✔️ All tasks finished!”)
import streamlit as st
st.markdown("## 🎨 Streamlit Emoji Demo")
st.markdown("**Success:** ✅ Task completed!")
st.markdown("**Warning:** ⚠️ Be careful!")
st.markdown("**Error:** ❌ Something went wrong!")
st.markdown("**Info:** ℹ️ Useful information ahead!")
st.markdown("**Celebration:** 🎉 Great job, team!")
st.markdown("**Progress:** ⏳ Work in progress...")
st.markdown("**Question:** ❓ Need clarification?")
st.markdown("**Idea:** 💡 Bright suggestion incoming!")
st.markdown("**Alert:** 🚨 Urgent action required!")
st.markdown("**Done:** ✔️ All tasks finished!")

Emojis in Widgets
Emojis can make buttons, checkboxes, and selectboxes more entertaining.
agreed = st.checkbox(“✅ I Agree to the Terms”)
if agreed:
st.write(“Thanks for agreeing! 🙌”)
agreed = st.checkbox("✅ I Agree to the Terms")
if agreed:
st.write("Thanks for agreeing! 🙌")

SelectBox with Emojis
cloth = st.selectbox(
“Choose a cloth item”,
[“👕 Shirts”, “🩳 Shorts”, “🧥 Jacket”, “💼 Bag”, “🥾Boots”]
)
st.write(f”You selected: {cloth}”)
cloth = st.selectbox(
"Choose a cloth item",
["👕 Shirts", "🩳 Shorts", "🧥 Jacket", "💼 Bag", "🥾Boots"]
)
st.write(f"You selected: {cloth}")

Emojis in Status Messages
streamlit has message boxes that can be enhanced with emojis
st.success(“✅ Success! Everything worked.”)
st.warning(“⚠️ Warning! Something might be wrong.”)
st.error(“❌ Error! Please check again.”)
st.info(“ℹ️ Info: Keep learning Streamlit.”)
st.success("✅ Success! Everything worked.")
st.warning("⚠️ Warning! Something might be wrong.")
st.error("❌ Error! Please check again.")
st.info("ℹ️ Info: Keep learning Streamlit.")

Emojis in Progress and Animations
We can make progress bars more fun with emojis.
import time
progess = st.progress(0)
status = st.empty()
for i in range(101):
time.sleep(0.03)
progess.progress(i)
status.text(f”Uploading… {i}% ⏳”)
st.success(“✅ Upload complete!”)
import time
progess = st.progress(0)
status = st.empty()
for i in range(101):
time.sleep(0.03)
progess.progress(i)
status.text(f"Uploading... {i}% ⏳")
st.success("✅ Upload complete!")

Let's do some Mini Projects
Emoji voting App.
mood = st.radio(
“How are you feeling today?”,
[
“😄 Happy”,
“😢 Sad”,
“😡 Angry”,
“😴 Tired”,
“🤩 Excited”,
“😊 Content”,
“😕 Confused”,
“😍 In Love”,
“😣 Frustrated”,
“😁 Cheeky”
]
)
st.write(f”Your mood today: {mood}”)
mood = st.radio(
"How are you feeling today?",
[
"😄 Happy",
"😢 Sad",
"😡 Angry",
"😴 Tired",
"🤩 Excited",
"😊 Content",
"😕 Confused",
"😍 In Love",
"😣 Frustrated",
"😁 Cheeky"
]
)
st.write(f"Your mood today: {mood}")

Emoji Feedback App
feedback = st.radio(
“Rate your experience:”,
[“😡 Terrible”, “😕 Bad”, “😐 Okay”, “😊 Good”, “🤩 Excellent”]
)
if st.button(“Submit Feedback”):
st.success(f”Thanks for your feedback! {feedback}”)
feedback = st.radio(
"Rate your experience:",
["😡 Terrible", "😕 Bad", "😐 Okay", "😊 Good", "🤩 Excellent"]
)
if st.button("Submit Feedback"):
st.success(f"Thanks for your feedback! {feedback}")

The Best Ways to Use Emojis in Streamlit
✔️ Use emojis to make the UI better, not worse.
✔️ Use the same themes over and over (✅ for success, ❌ for error).
✔️ For dynamic apps, use the emoji library.
✔️ Test on multiple devices; certain emoticons seem different on different devices.
✔️ For clarity, use emoticons in tables, analytics, and dashboards.
Learn more about Streamlit: Click Here
Watch Streamlit videos: