Duolingo's reference documents #58cc02 as a documented primary color, din-round for typography, 12px corner radius. Duolingo is the world's most-downloaded education app, and its interface is engineered to feel less like studying and more like a game you can't put down.
Needs work: freshness conflict · verification v2 missing
Duolingo is the world's most-downloaded education app, and its interface is engineered to feel less like studying and more like a game you can't put down. The brand's whole thesis is that learning should be fun first — and the visual language enforces that on every pixel. The signature Feather Green (#58CC02) is an almost impossibly bright, optimistic lime that reads as energy, growth, and "go." It is the color of the owl, the color of the streak, the color of every primary action. Nothing about it is muted or institutional; it is deliberately the opposite of the dusty greens of a classroom chalkboard.
What defines Duolingo visually is chunky, tactile playfulness. Buttons are not flat rectangles — they have a solid 3D "lip," a hard offset shadow of the button's own darker shade, so pressing them feels like pressing a physical key. Cards carry bold 2px outlines rather than soft elevation. Corners are generously rounded (12–16px). Everything is oversized and high-contrast: big rounded type, big touch targets, big celebratory states. The aesthetic borrows from children's books and arcade games but executes with the rigor of a mature product system — "a children's book that grew up."
The type system pairs two custom voices. Feather Bold — a bespoke display typeface whose curves echo the shape of Duo the owl — carries headings, buttons, and any moment that needs personality. DIN Next Rounded handles longer-form and UI body text where Feather would be too loud. Together they keep the brand friendly without ever feeling childish.
Key Characteristics:
#58CC02) as the universal primary — CTAs, owl, streaks, correctnessDuolingo names its colors after animals and birds — a playful taxonomy that mirrors the owl mascot world. The values below are the widely-documented brand tokens.
#58CC02): The brand workhorse. Primary CTAs, correct answers, the owl, streak flames, progress. The single most important color.#58A700): The darker shade used for the 3D button "lip" shadow and pressed states of green buttons.#89E219): Lighter green accent, success highlights, lesson-complete glows.#1CB0F6): Bright blue. Secondary actions, links, info states, "Super/Plus" accents, streak-freeze.#1899D6): Darker blue, the 3D lip for Macaw buttons and pressed blue states.#FF4B4B): Red. Incorrect answers, errors, destructive actions, hearts/lives.#FFC800): Yellow/gold. XP, achievements, crowns, streak rewards, premium glints.#FF9600): Orange. Highlights, secondary rewards, warnings, leaderboard accents.#CE82FF): Purple. Special events, Super Duolingo branding, decorative accents.#EA2B2B): The 3D lip for red buttons and pressed destructive states.#FFFFFF): Primary surface. Page and card backgrounds.#F7F7F7): Lightest gray. Secondary surface, disabled/empty fills, alt rows.#E5E5E5): Default border, dividers, disabled button fill, progress-bar track.#AFAFAF): Placeholder text, disabled text, inactive icons.#777777): Secondary/body text, captions, metadata.#4B4B4B): Primary text color — strong near-black-gray for headings and body. Duolingo's default ink, not pure black.#58CC02) fill, Mask Green glow.#FF4B4B).#FFC800) and Fox (#FF9600).#1CB0F6).#FFFFFF#F7F7F7 (Polar)#E5E5E5 (Swan)#4B4B4B (Eel)#777777 (Wolf)#AFAFAF (Hare)"Feather Bold", "din-round", "DIN Next Rounded", "Nunito", -apple-system, BlinkMacSystemFont, sans-serif — bespoke Duolingo typeface, rounded and friendly, used everywhere personality matters."din-round", "DIN Next Rounded", "Nunito", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif — cleaner, lighter, for longer text and dense UI.Nunito (700/800) is the closest open-source stand-in for Feather Bold when the custom font is unavailable.| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|---|---|---|---|---|---|---|
| Display Hero | Feather Bold | 40px | 700 | 48px (1.2) | -0.5px | Landing hero, big celebrations |
| Display | Feather Bold | 32px | 700 | 40px (1.25) | -0.25px | Section headers, lesson-complete |
| Heading Large | Feather Bold | 24px | 700 | 32px (1.33) | normal | Screen titles, modal headers |
| Heading | Feather Bold | 20px | 700 | 28px (1.4) | normal | Card titles, sub-sections |
| Subtitle | Feather Bold | 17px | 700 | 24px (1.4) | normal | List headers, prompts |
| Button Label | Feather Bold | 15px | 700 | 20px | 0.8px (uppercase) | CTAs — often UPPERCASE |
| Body Large | DIN Next Rounded | 17px | 400 | 26px (1.5) | normal | Lesson sentences, explanations |
| Body | DIN Next Rounded | 15px | 400 | 23px (1.5) | normal | Standard reading text |
| Caption | DIN Next Rounded | 13px | 400 | 18px (1.4) | normal | Metadata, hints, fine print |
| Stat / Number | Feather Bold | 24px+ | 700 | tight | normal | XP, streak count, % — bold and big |
CONTINUE, START, CHECK).#4B4B4B, never #000000 — pure black feels harsh against the playful palette.The Duolingo button is the brand's signature component: a chunky, tactile control with a hard offset bottom border (the "lip") in a darker shade of its own color, so it looks and feels like a physical key. On press, the button translates down and the lip collapses.
Primary (Green)
#58CC02#FFFFFF0 4px 0 #58A700 (solid, no blur)translateY(4px), lip collapses to 0 0#E5E5E5, text #AFAFAF, no lipCONTINUE, START, CHECK ANSWERSecondary (Blue / Macaw)
#1CB0F6#FFFFFF0 4px 0 #1899D6Destructive (Red / Cardinal)
#FF4B4B#FFFFFF0 4px 0 #EA2B2BOutline / Ghost (Neutral)
#FFFFFF#1CB0F6 (or #4B4B4B for neutral)#E5E5E50 2px 0 #E5E5E5SKIP, MAYBE LATER)Disabled
#E5E5E5#AFAFAFCHECK before an answer is selectedDisplay modes — buttons are typically full-width (block) on mobile lesson screens, auto-width inline on dense settings rows. The lip is the brand-defining detail: it is always a solid darker shade of the button's own color, never a blurred drop shadow.
Duolingo uses inputs sparingly (it is a tap-first product), but text fields follow the same rounded, bold-border language.
Default
#FFFFFF#4B4B4B#E5E5E5#AFAFAF#1CB0F6 (2px)Error
#FFF0F0#4B4B4B#FF4B4B#FF4B4B 13pxAnswer Tile (Word Bank)
#FFFFFF#4B4B4B#E5E5E50 2px 0 #E5E5E5#1CB0F6, bg #DDF4FFLesson / Path Card
#FFFFFF#E5E5E5Highlight Card
#DDF4FF (light Macaw tint) or #F7F7F7#1CB0F6 (when active/selected)Stat Card
#FFFFFF#E5E5E5#4B4B4B; label Wolf #777777 13pxStreak / XP Pill
#FFFFFF with 2px #E5E5E5 border, or solid color#FF9600 (streak) / #FFC800 (XP) with matching iconNew / Status Badge
#FF4B4B (notification) / #58CC02 (complete)#FFFFFF#E5E5E5 (Swan), radius 9999px, height 16px#58CC02 (Feather Green), radius 9999pxBottom Tab (Active)
#FFFFFF, top border 2px #E5E5E5#58CC02#AFAFAFCorrect
#D7FFB8 (light green) / footer area#58A700#A5ED6ECONTINUEIncorrect
#FFDFE0 (light red)#EA2B2B#FFB3B3CONTINUECentered Modal
#FFFFFF#E5E5E5)0 8px 0 rgba(0,0,0,0.05) soft, plus occasional confetti/owl illustration#4B4B4BDefault
#58CC02 (on) / #E5E5E5 (off)#FFFFFF circle, soft inner shadowVerified: 2026-06-06
Tier 1 sources: design.duolingo.com (official brand identity/color portal), www.duolingo.com (live product) · https://www.duolingo.com (live production site)
Tier 2 sources: widely-documented Duolingo brand tokens (Feather Green #58CC02, Macaw #1CB0F6, Cardinal #FF4B4B, Bee #FFC800, Fox #FF9600, Eel #4B4B4B, Wolf #777777, Swan #E5E5E5, Polar #F7F7F7) corroborated across multiple brand-color references.
Note: The animal color names and the 3D "lip" button mechanic are signature, well-documented Duolingo system traits. Exact internal token values may vary slightly by platform/release.
Duolingo's depth model is physical, not atmospheric. Instead of soft blurred shadows, the system uses hard, solid offsets — a darker shade of the element's own color sitting directly beneath it. This is what makes buttons feel like real, pressable keys.
| Level | Treatment | Use |
|---|---|---|
| Flat (Level 0) | No border, no shadow | Inline text, page background |
| Outlined (Level 1) | 2px solid #E5E5E5 border | Cards, tiles, list rows |
| Lip (Level 2) | 0 4px 0 <darker-shade> solid offset | Buttons, answer tiles — the signature 3D effect |
| Raised (Level 3) | 2px outline + subtle 0 4px 0 rgba(0,0,0,0.05) | Floating cards, selected plans |
| Modal (Level 4) | 0 8px 0 rgba(0,0,0,0.05) + scrim rgba(0,0,0,0.4) | Dialogs, celebration sheets |
Shadow Philosophy: The 3D "lip" is the heart of the brand's tactility. It is always a solid color (no blur, no spread) and always a darker tint of the component it sits under — green buttons get #58A700, blue get #1899D6, red get #EA2B2B. On press the element shifts down by the lip height and the lip disappears, mimicking a physical key travel. Atmospheric blurred shadows are rare and kept very subtle when used.
rgba(0,0,0,0.4) — flat dim, minimal/no blur#58CC02) for the single primary action on every screen0 4px 0 in a darker shade of the same color)#4B4B4B), never pure black#000000) for text — Eel #4B4B4B is the brand ink| Name | Width | Key Changes |
|---|---|---|
| Mobile (Primary) | <768px | Full-screen single-column lessons, full-width CTAs, bottom nav |
| Tablet | 768–1024px | Centered learning column, side widgets appear |
| Desktop | >1024px | Constrained center column (~600px) + left nav rail + right streak/league rail |
#58CC02), lip #58A700#1CB0F6), lip #1899D6#FF4B4B), lip #EA2B2B#FFC800), Fox orange (#FF9600)#CE82FF)#FFFFFF), subtle surface Polar (#F7F7F7)#4B4B4B)#777777)#AFAFAF)#E5E5E5)#58CC02 bg, white UPPERCASE Feather Bold 15px text with 0.8px tracking, 12px radius, 14px/20px padding, min-height 50px, solid 3D lip 0 4px 0 #58A700. On press translateY(4px) and collapse the lip."#E5E5E5, fill #58CC02 with a thin lighter-green top sheen, animating width."#E5E5E5 border, 12px radius, 0 2px 0 #E5E5E5 lip, 17px DIN Next Rounded text #4B4B4B. Selected: border #1CB0F6, bg #DDF4FF."#D7FFB8, text #58A700, top border 2px #A5ED6E, with a green CONTINUE button on the right."#E5E5E5 border, 16px radius, 20px padding. Flame emoji, Feather Bold 24px #4B4B4B count, Wolf #777777 13px label."#E5E5E5, 5 tabs. Active #58CC02, inactive #AFAFAF, 11px Feather Bold labels."#58CC02) with the 3D lip — this is non-negotiable brand DNA#4B4B4B, never pure black; secondary text is Wolf #777777#E5E5E5 outlines, not blurred shadowsDuolingo speaks like an enthusiastic, slightly mischievous friend who genuinely wants you to win. The voice is warm, encouraging, playful, and occasionally cheeky — never stern, never academic. English is the primary voice, written at a friendly, casual register. Praise is generous and specific; failure is reframed as a normal step, never a scolding. The brand famously leans into humor (and the "passive-aggressive owl" meme) in notifications, but inside the learning flow the tone stays kind and motivating.
| Context | Tone |
|---|---|
| CTAs | Short, imperative, energetic — CONTINUE, START, GET STARTED, CHECK |
| Correct feedback | Celebratory, brief — Nice!, You're on fire!, Correct! |
| Incorrect feedback | Gentle, no blame — Correct solution: shown plainly; never Wrong! |
| Streak / reward | Excited, exclamatory — 7 day streak!, +10 XP |
| Onboarding | Friendly second-person, one question per screen, low pressure |
| Empty states | Encouraging nudge with one clear action — never cold or empty-feeling |
| Notifications | Playful, personality-driven (the owl's signature charm) |
Forbidden tones. No academic jargon, no shaming for mistakes (Wrong!, You failed), no corporate stiffness, no guilt-tripping inside the learning flow. Keep sentences short. Exclamation points are welcome where genuine excitement is warranted; em-dashes and clever asides are on-brand in marketing copy.
Duolingo was founded in 2011 by Luis von Ahn and Severin Hacker out of Carnegie Mellon University, on a simple, radical premise: free language education for everyone. Von Ahn — who had earlier invented reCAPTCHA — built Duolingo to remove cost as a barrier to learning. The company went public on Nasdaq in 2021 and has grown into the world's most popular way to learn languages, with hundreds of millions of learners.
The design language is inseparable from the business model. Because the product is free and habit-driven, engagement is the whole game — and so the interface is engineered like a game: streaks, XP, leagues, hearts, crowns, and the relentlessly cheerful owl, Duo. Feather Green and the chunky tactile buttons exist to make a single lesson feel rewarding enough to come back tomorrow. The 3D button lip, the confetti, the celebratory full-screen states — these are not decoration; they are the retention mechanics rendered in pixels.
What Duolingo refuses is the aesthetic of school. No chalkboard greens, no textbook density, no intimidating grammar tables front-and-center. It also refuses the cold minimalism of typical SaaS — flat gray dashboards would never produce the dopamine the streak demands. Duolingo occupies a deliberate middle: rigorous, accessible product design wearing the costume of a friendly mobile game. The owl can be earnest or unhinged in marketing, but the core learning surface stays warm, clear, and relentlessly motivating.
Personas below are fictional archetypes informed by publicly described language-learner segments, not individual people.
Maya, 24, Chicago. Marketing coordinator learning Spanish before a trip. Opens Duolingo on her evening commute, 1–2 lessons a night. Lives and dies by her streak — a 200-day streak is a point of pride she will not break. Motivated by the green progress bar filling and the confetti at the end. If a lesson feels like homework rather than a game, she drifts. Taps fast through the word bank; wants the CHECK button big and obvious.
Daniel, 41, Austin. Software engineer brushing up on Japanese he studied in college. Pays for Super Duolingo to remove hearts and ads. Values the structured path and the sense of measurable progress (XP, crowns). Appreciates the playful tone but mostly cares that the product respects his time — fast, frictionless, one clear next step. Annoyed by anything that slows the loop between lessons.
Sofia, 16, Madrid. High-school student using Duolingo for English alongside class. Competes hard in the weekly Diamond League leaderboard — the gamification is the motivation. Shares streak milestones with friends. Reacts to the owl's personality and the meme culture around it. For her, the social-game layer (leagues, friends, XP races) matters as much as the learning itself.
| State | Treatment |
|---|---|
| Empty (no lessons yet) | Friendly Feather Bold headline + encouraging line in Wolf #777777, plus a green #58CC02 CTA (START LEARNING). Often paired with a Duo illustration. Never cold. |
| Loading (first paint) | Light skeleton blocks in #F7F7F7 (Polar) at final dimensions, or a centered animated Duo. Path tiles fade in. |
| Loading (checking answer) | CHECK button shows an inline spinner / brief disabled state; never blocks the whole screen. |
| Correct answer | Bottom feedback bar bg #D7FFB8, text #58A700, top border #A5ED6E, cheerful copy (Nice!), green CONTINUE button. Optional ding + small confetti. |
| Incorrect answer | Bottom feedback bar bg #FFDFE0, text #EA2B2B, shows Correct solution: plainly, red CONTINUE button. No shaming language. Heart/life decrements if applicable. |
| Error (form field) | 2px #FF4B4B border, bg #FFF0F0, helper text below in #FF4B4B 13px, one actionable sentence. |
| Disabled (CHECK before answer) | bg #E5E5E5, text #AFAFAF, no lip, not pressable. Re-enables the moment a choice is made. |
| Success (lesson complete) | Full-screen celebration: confetti, Duo reaction, XP count animating up in Bee #FFC800/Feather Bold, streak increment, single green CONTINUE. The peak emotional moment. |
| Streak milestone | Modal with flame illustration, big Feather Bold count, Fox #FF9600 accents, share + continue actions. |
| Out of hearts | Modal explaining hearts depleted, options to wait, practice to refill, or upsell to Super. Tone stays light, not punitive. |
| Skeleton | #F7F7F7 blocks at exact final dimensions, gentle shimmer, rounded at component radius. |
Durations (named):
| Token | Value | Use |
|---|---|---|
motion-instant | 0ms | Disabled-state flips, reduced-motion fallback |
motion-fast | 150ms | Button press / lip collapse, hover, small reveals |
motion-standard | 250ms | Screen transitions, feedback bar slide-up, tile select |
motion-celebrate | 400–600ms | XP count-up, progress fill, success reveals |
motion-confetti | 800ms+ | Lesson-complete confetti and Duo reactions |
Easings:
| Token | Curve | Use |
|---|---|---|
ease-enter | cubic-bezier(0.0, 0.0, 0.2, 1) | Feedback bars, modals, screen pushes appearing |
ease-exit | cubic-bezier(0.4, 0.0, 1, 1) | Dismissals, bar slide-down |
ease-standard | cubic-bezier(0.4, 0.0, 0.2, 1) | Two-way transitions, tab/content switches |
ease-bounce | cubic-bezier(0.34, 1.56, 0.64, 1) | Celebrations — XP pop, streak flame, owl bounce, badge reveal. The playful overshoot is on-brand here. |
Signature motions.
4px) over motion-fast and the solid lip collapses to zero — exactly like pressing a physical key. On release it springs back. This is the single most recognizable Duolingo interaction.motion-standard with ease-standard after each correct answer — visible, satisfying forward motion.ease-bounce, and confetti bursts. Overshoot/bounce easing is licensed here (and only in celebratory contexts) — it would feel unserious elsewhere, but here joy is the point.prefers-reduced-motion: reduce, confetti and bounce overshoots are removed and durations collapse toward motion-instant; transitions become simple fades. The product stays fully usable and still celebratory in copy, just less kinetic.Duolingo is the world's most-downloaded education app, and its interface is engineered to feel less like studying and more like a game you can't put down. The brand's whole thesis is that learning should be fun first — and the visual language enforces that on every pixel. The signature Feather Green (#58CC02) is an almost impossibly bright, optimistic lime that reads as energy, growth, and "go." It is the color of the owl, the color of the streak, the color of every primary action. Nothing about it is muted or institutional; it is deliberately the opposite of the dusty greens of a classroom chalkboard.
Brand
Accent
Neutrals
Semantic
Fonts
Spacing
| Purpose | Value | Preview |
|---|---|---|
| xs | 4px | |
| sm | 8px | |
| md | 12px | |
| base | 16px | |
| lg | 24px | |
| xl | 32px | |
| xxl | 48px |
Border Radius
| Element | Value | Preview |
|---|---|---|
| fullStructured token | 9999px | |
| lgStructured token | 16px | |
| mdStructured token | 12px | |
| smStructured token | 8px |
Elevation
Do and Don't guidelines parsed from DESIGN.md.
Do
Don't
Buttons
Cards