#d7ffb8
June 25, 2026
duolingo.com
A reading of the visual language at https://duolingo.com. Every token, every rule, every component — captured from the live site.
Essence
duolingo.com is a Creator brand — warm, kinetic, modern, bold and imaginative — anchored on #d7ffb8 and duolingo-sans, mixed motion.
Adjectives
- warm
- kinetic
- modern
- bold
- imaginative
Personality axes
Evidence
- #d7ffb8 at 94° reads warm → warm (warmth +0.59)
- 12px median radius, 300ms median motion → kinetic (energy +0.4)
- sans display face, flat material → modern (era +0.3)
- Axis fingerprint nearest the Creator archetype (82% fit, vs Jester).
About
Logo
Colour
1 primary · 1 secondary · 1 accent · 9 neutrals · 18 total
Neutrals
#3C3C3C#777777#000000#4B4B4B#AFAFAF#FFFFFF#E5E5E5#808080#C1C1C1Full palette
#3C3C3C#777777#000000#A5ED6E#4B4B4B#58CC02#AFAFAF#1CB0F6#D7FFB8#FFFFFF#0000EE#000437#042C60#E5E5E5#DDF4FF#100F3E#808080#C1C1C1WCAG 100% · 0 passing pairs · 0 failing. Full breakdown in §11.
Typography
1 families · 9 sizes · 3 weights
Specimen
Scale
| Step | Size | Sample |
|---|---|---|
t00 |
64px |
The free, fun, and effective |
t01 |
48px |
The free, fun, and effective |
t02 |
32px |
The free, fun, and effective |
t03 |
19px |
The free, fun, and effective |
t04 |
17px |
The free, fun, and effective |
t05 |
16px |
The free, fun, and effective |
t06 |
15px |
The free, fun, and effective |
t07 |
14px |
The free, fun, and effective |
t08 |
13px |
The free, fun, and effective |
Spacing
Base 4px · 10 steps captured
Rhythm
1px
8px
23px
40px
48px
64px
80px
96px
140px
185px
Shape
2 radii · 1 elevation tiers
Border radii
2px
12px
Elevation
xs
Iconography
unknown · 4 captured
iconiconiconiconMotion
Feel: mixed · 3 durations · 2 easings
Duration scale
200ms
300ms
500ms
Easings
ease-outease-in-out
Components
unknown · 1 component patterns captured
Mocks
Built from these tokens
Radius, primary, surface, text — all sampled from the live site.
Read more →Detected patterns
button
Voice
friendly · — · —
Headlines from the site
- The free, fun, and effective way to learn a language!
- free. fun. effective.
- backed by science
- stay motivated
CTA verbs
×1×1×1
Accessibility
0 passing · 0 failing
No failing contrast pairs detected.
Tokens
Drop-in code for the most common stacks. All values from the live extraction.
:root {
--color-primary: #d7ffb8;
--font-display: "duolingo-sans";
--space-base: 4px;
--radius-md: 12px;
}
// tailwind.config.js
module.exports = {
theme: {
extend: {
colors: { brand: '#d7ffb8' },
fontFamily: { display: ['duolingo-sans', 'serif'] },
spacing: { base: '4px' },
borderRadius: { md: '12px' },
},
},
};
Run npx designlang pack duolingo.com for the full bundle (DTCG, shadcn, Figma vars, motion, anatomy, Storybook).
Usage
-
Lead with the primary.
It belongs on calls-to-action and one accent moment per screen. Not on body copy.
-
Two type families, three weights.
Display for headlines, body for paragraphs. Resist a third unless there is a real reason.
-
Snap to the spacing scale.
Padding, margin, and gap should land on the values in §05. One-off pixels accumulate into noise.
-
Treat accessibility as a hard constraint.
When a colour pair fails WCAG, fix the colour — not the contrast check.