Founding sponsorYour name here

Live now

Design standup

AR

Ava Reyes

Online

Pick a status below. The small circle on the corner of the photo is the status dot

Status Dot (Presence Indicator)

/ <PresenceBadge status="available" /> · <Badge variant="dot"> /

also called presence indicator, presence badge, online indicator, live indicator, availability dot, dot badge, pulse dot, ping dot

“The little green dot” is a status dot, called a presence indicator when it shows whether a person is online (Fluent UI: PresenceBadge; Ant Design's own docs say status dot). It is a small filled circle with no number or text inside, usually overlapping the lower right edge of an avatar or sitting beside a row label, and its color carries one state: available, away, busy, offline, or a warning. A live dot often has a ping halo, the ring that expands and fades behind it. It is not a count badge (that holds a number), not the row of dots under a carousel (a slide picker), and not an unread dot, which looks the same but means new content and disappears once you look.

If you called it…

the little green dotsmall dot indicating a warninglive indicatorlive dotlive dotthe small dot on cards, small blinking circlea pulsing dot for onboarding

…you meant a status dot (presence indicator).

Anatomy — every part, named

  1. 1
    Status dotPresenceBadge

    “The little green dot” is the status dot itself: a small filled circle, no number inside, overlapping the avatar's lower right edge.

  2. 2
    Status statestatus="away"

    “The dot that changes from green to orange or gray” is showing its status state: one named value (available, away, busy, offline) picks the color.

  3. 3
    Ping haloanimate-ping

    “The pulsing ring around the live dot” is the ping halo (also pulse ring or ripple): it grows and fades while the solid dot stays still.

  4. 4
    Separation ringborder

    “The little white cutout around the dot on the avatar” is the separation ring: a border in the surface color that keeps the dot readable over a photo.

Prompt — paste into your agent

Use a status dot (presence indicator), like Fluent UI PresenceBadge or Material UI Badge variant="dot" with overlap="circular": a small filled circle overlapping the avatar's lower right edge, with a 2px border in the surface color as a separation ring. Drive the color from one explicit status value (available green, away amber, busy red, offline gray) and put the same meaning in visible text or the row's accessible name, never color alone. For a live state, center a motion-safe animate-ping halo behind the dot and keep the solid core still.

Debug prompt — when it misbehaves

Paste this, then describe what you’re seeing — it hands your agent the classic failure modes to rule out first.

Debug my status dot / presence indicator (PresenceBadge status, Badge variant="dot" overlap="circular", animate-ping halo, separation ring border). Rule out: the dot positioned against the avatar's square box instead of its circle, so it floats off the rounded edge (Material UI needs overlap="circular"); the separation ring drawn with outline or ring utilities in a hardcoded white, so it shows as a pale halo in dark mode instead of matching the surface; animate-ping applied to the dot itself so the whole dot fades out, instead of to a sibling halo behind a solid core; the halo not centered on the dot, or clipped by an overflow-hidden avatar wrapper; the animation ignoring prefers-reduced-motion; status conveyed by color alone with no text or accessible name, so green versus red is invisible to screen readers and color-blind users; role="status" put on a persistent dot so assistive tech announces every re-render; an unread dot and a presence dot sharing one component and one color, so nobody can tell new content from online; the dot scaling with the avatar until it is too small to see at 24px. The symptom:

In code

The exact names this thing goes by in code — each row is one framework’s word for it. Use the row that matches your project (or paste it into your prompt).

Fluent UI<PresenceBadge status="available" />the most specific component; status is also away, busy, do-not-disturb, offline, out-of-office, unknown, blocked
Material UI<Badge variant="dot">a countless dot on any child; add overlap="circular" when the child is a round avatar
Ant Design<Badge status="success" />Ant calls this a status dot; status is success, processing, default, error or warning, with optional text beside it
Ant Design<Badge dot>a different mode: a plain red dot replacing a count, the unread case
Tailwind CSSanimate-pingthe expanding, fading halo behind a live dot; animate-pulse is a different effect that fades the element itself
CSSborderthe surface-colored ring that separates the dot from the avatar it overlaps

See also

Search

Describe the UI element you're thinking of