Etsy

Etsy's iOS app is a warm, handcrafted marketplace built on a soft cream canvas (#FAF5EF) that signals "handmade, not mass-produced" the moment it lo

Back to all styles

Preview

Every style on this site is applied to the same sample page — same headline, same three columns, same footer. Only the stylesheet changes, so every difference you see below belongs to Etsy, not to the copy.

A live page, not a screenshot — the frame scrolls. Open full preview ↗

At a glance

22tokens
9type steps
1radius steps
4pxspacing base

Etsy, in one page

Etsy's iOS app is a warm, handcrafted marketplace built on a soft cream canvas (#FAF5EF) that signals "handmade, not mass-produced" the moment it loads. Where most commerce apps go stark white, Etsy chooses a gentle paper-warm tone — the digital equivalent of a craft fair under string lights. Product photography is the hero: every listing leads with a large, color-rich maker photo, and the cream surround makes those photos feel like prints on a gallery wall rather than SKUs in a database. The interface is unhurried, tactile, and personal.

The accent system is a single confident burnt orange. Etsy Orange (#F1641E) owns the primary CTA ("Add to cart", "Buy it now"), the active tab indicator, sale badges, and the favorite-heart active state. The favorite heart is the emotional core of the app — Etsy is a wishlist-driven, browse-and-save experience — and it bounces and fills orange the moment you tap it. Beyond orange and the warm cream, the palette is restrained: white cards floating on cream, #F1F1F1 grouped fills, #E1DDD5 warm hairline dividers, near-black text. The warmth is the brand; the orange is the verb.

Typography is a friendly, slightly editorial sans (Etsy uses Graphik in production; substitute "Inter"). The hierarchy is approachable and shopping-forward: 12-28pt with weights at 400 / 500 / 700. The most expressive type moment is the listing detail — the item title at 22pt over a tall maker photo, with the price in confident 24pt bold and the review stars right beneath. Shop names and maker copy lean warm and human; metadata recedes into a soft gray.

Key Characteristics:

Do's and don'ts

Do

  • Use the warm cream canvas (#FAF5EF) — it is the handmade brand signature
  • Float white product cards on the cream with a soft warm-tinted shadow
  • Reserve Etsy Orange (#F1641E) for the primary action, active tab, sale, and favorites
  • Make the favorite heart bounce and fill orange on tap — it is the emotional core
  • Lead every product card and the listing detail with a large, color-rich maker photo
  • Use near-black stars (#222222) for reviews — Etsy stars are not gold
  • Keep CTAs full-pill and friendly, never sharp-cornered
  • Show "Bestseller" / "Etsy's Pick" as an orange-tint pill for social proof
  • Keep shop names and maker copy in medium weight — warm, human, never shouty

Don't

  • Don't replace the cream with stark white — the warmth is the differentiator
  • Don't use orange for body text or decoration — it is structural only
  • Don't render review stars in gold/yellow — Etsy uses near-black stars
  • Don't use cold neutral-gray shadows — card shadows are warm-tinted brown
  • Don't add a second accent color — the single orange + warm cream is the identity
  • Don't square the CTA corners — Etsy buttons are full-pill and friendly
  • Don't use thin font weights — stay at 400 / 500 / 700
  • Don't shrink product photos — the maker photography is the hero
  • Don't skip the heart bounce — the tactile favorite is core to the experience

Copy this into your AI builder

Paste it as-is. Every value below was measured from the original site, not guessed.

Assembled from the measured tokens — the source document has no prompt block.

Build a page in the Etsy design language. Follow the measured tokens below — do not substitute your own palette.

Colors:
- Etsy Orange: #f1641e
- Orange Pressed: #d5571a
- Orange Tint: #fdede4
- Canvas Cream: #faf5ef
- Card White: #ffffff
- Surface: #f1f1f1
- Divider: #e1ddd5
- Surface Pressed: #efeae2
- Text Primary: #222222
- Text Secondary: #595959

Type:
- families: Graphik, Inter, Substitute, Fallback Stack
- scale: 11, 13, 14, 15, 16, 20, 22, 24, 28
- weights: 400, 500, 700

Shape:
- radius: 12
- elevation: Float white product cards on the cream with a soft warm-tinted shadow | 2. White product cards float on the cream with a soft warm-tinted (brown) shadow

Spacing: 4, 8, 14, 16

Rules:
- Use the warm cream canvas (`#FAF5EF`) — it is the handmade brand signature
- Float white product cards on the cream with a soft warm-tinted shadow
- Reserve Etsy Orange (`#F1641E`) for the primary action, active tab, sale, and favorites
- Make the favorite heart bounce and fill orange on tap — it is the emotional core
- Lead every product card and the listing detail with a large, color-rich maker photo
- Use near-black stars (`#222222`) for reviews — Etsy stars are not gold

Avoid:
- Don't replace the cream with stark white — the warmth is the differentiator
- Don't use orange for body text or decoration — it is structural only
- Don't render review stars in gold/yellow — Etsy uses near-black stars
- Don't use cold neutral-gray shadows — card shadows are warm-tinted brown
- Don't add a second accent color — the single orange + warm cream is the identity
- Don't square the CTA corners — Etsy buttons are full-pill and friendly

Keep every value literal. If a token is given, use that exact value.

The specification

Colour paletteRead the full spec

Primary

  • Etsy Orange (#F1641E): Primary CTA, "Add to cart", active tab indicator, sale badge, favorite-heart active.
  • Orange Pressed (#D5571A): Active/pressed state for orange CTAs and the heart on tap.
  • Orange Tint (#FDEDE4): Soft orange wash behind sale callouts and selected chips.

Canvas & Surface

  • Canvas Cream (#FAF5EF): Primary warm canvas — the handmade paper tone.
  • Card White (#FFFFFF): Product cards, sheets, and elevated surfaces floating on cream.
  • Surface (#F1F1F1): Grouped fills, search-field background, segmented controls.
  • Divider (#E1DDD5): Warm hairline dividers between rows and sections.
  • Surface Pressed (#EFEAE2): Pressed state on cream list rows and tappable cards.

Text

  • Text Primary (#222222): Item titles, prices, headlines, primary UI text.
  • Text Secondary (#595959): Shop names, metadata, descriptions, captions.
  • Text Tertiary (#8A8A8A): Disabled labels, placeholders, very low-emphasis hints.

Semantic

  • Favorite Active (#F1641E): Filled favorite heart.
  • Favorite Idle (#FFFFFF w/ rgba(0,0,0,0.45) backing): Unsaved heart over photos.
  • Star Filled (#222222): Review star glyphs (Etsy uses near-black stars, not gold).
  • Sale Red (#A61A12): "On sale" / discount price strike accent (deep brick, used sparingly).
  • Success Green (#258635): "In your cart", order-confirmed states.
  • Error Red (#A61A12): Form validation, checkout failure.

Dark Mode (Limited Use)

Etsy's iOS app is warm-light-first. A dark variant exists for system-dark contexts; the canvas goes warm-dark and Etsy Orange stays identical — it reads well on both.

  • Dark Canvas (#1A1714)
  • Dark Card (#241F1B)
  • Dark Text Primary (#F2EDE6)
  • Dark Text Secondary (#A8A096)
  • Orange (#F1641E) — unchanged across themes
Type scaleRead the full spec

Font Family

  • Primary: Graphik (proprietary) — friendly, slightly editorial grotesque
  • Substitute: Inter — closest free face for the warm grotesque tone
  • Fallback Stack: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
  • Non-Latin: System fallback per-script — Etsy ships globally

Hierarchy

RoleFontSizeWeightLine HeightLetter SpacingNotes
Screen Title (Large)Inter28pt7001.15-0.4ptHome / Favorites large nav title
Listing TitleInter22pt7001.25-0.2ptItem name on listing detail
Section HeaderInter20pt7001.2-0.2pt"You may also like", "From this shop"
Price (Hero)Inter24pt7001.1-0.3ptThe listing price on detail
Card TitleInter15pt5001.350ptProduct title in grid card (2-line clamp)
Card PriceInter16pt7001.2-0.1ptPrice on a grid card
BodyInter15pt4001.50ptItem description, shop story
Shop NameInter14pt5001.30ptMaker / shop name on card + detail
Button (Primary)Inter16pt7001.00ptOrange "Add to cart", "Buy it now"
Meta / CountInter13pt4001.30pt"1,284 sales", "Free shipping"
BadgeInter11pt7001.00.3pt"BESTSELLER", "ETSY'S PICK"
Tab LabelInter11pt5001.00.2ptBottom tab bar labels
Review CountInter13pt5001.20pt"(1,284)" beside the stars

Principles

  • Weights concentrated at 400 / 500 / 700: regular, medium, bold — medium does the warm mid-emphasis work
  • Editorial, human tone: shop names and maker copy in medium weight, never shouty
  • Price is confident, not loud: 24pt bold near-black, the stars sit immediately beneath
  • Negative tracking only on titles: -0.4pt max; body sits at 0pt for readability
  • Orange is never body text — orange is structural (action, active, sale, favorite) only
Components and layoutRead the full spec

Buttons

Primary CTA ("Add to cart" / "Buy it now")

  • Background: #F1641E
  • Text: #FFFFFF
  • Padding: 16pt vertical, 28pt horizontal
  • Corner radius: 999pt (full pill — Etsy's CTAs are rounded and friendly)
  • Font: Inter 16pt weight 700
  • Pressed: background #D5571A, scale 0.98, with .impactOccurred(.medium) haptic
  • Disabled: background #E1DDD5, text #8A8A8A

Secondary Button ("Add to a list" / "Message seller")

  • Background: #FFFFFF
  • Text: #222222
  • Border: 1.5pt solid #222222
  • Padding: 14pt vertical, 24pt horizontal
  • Corner radius: 999pt
  • Font: Inter 15pt weight 700
  • Pressed: background #F1F1F1

Favorite Heart

  • Size: 24pt glyph, 44pt hit area
  • Idle (over photo): white outline heart on rgba(0,0,0,0.45) circular backing (36pt)
  • Active: solid #F1641E
  • Tap: scale 1.0 → 1.25 → 1.0 over 300ms spring bounce + success haptic, fill animates

Text Button ("See all 240 items")

  • Font: Inter 15pt weight 700
  • Color: #222222
  • Underline on press only, 44pt hit area

Cards & Containers

Handmade Product Card (Grid)

  • Background: #FFFFFF, corner radius 12pt
  • Photo: full-width, aspect 1:1, maker image with 12pt top corner radius
  • Favorite heart top-right over photo (24pt, idle white)
  • "Bestseller" tag top-left over photo (orange-tint pill) when applicable
  • Structure: photo → title (15pt w500, 2-line clamp) → price (16pt w700) + optional strike → stars + "(1,284)" → shop name (14pt w500 #595959) → "Free shipping" meta
  • Grid: 2-column, 12pt gutter, 16pt row gap
  • Tap: card scale 0.98 + light haptic

Listing Detail Hero

  • Full-bleed maker photo, aspect ~4:5, top of the screen
  • Gallery dots bottom-center over the photo (6pt, active #FFFFFF)
  • Floating circular 36pt back, share, favorite buttons on rgba(0,0,0,0.45)
  • Photo-count pill bottom-right: "1 / 12" on rgba(0,0,0,0.5)
  • Below photo: title 22pt w700, price 24pt w700, stars + review count, shop row

Shop Banner Header

  • Banner strip: full-width maker banner image, ~120pt tall, 12pt bottom corners
  • Shop avatar: 64pt circle, white 3pt ring, overlapping the banner bottom edge
  • Shop name 20pt w700 + "1,284 sales · ★ 4.9" 13pt #595959 below
  • "Follow shop" pill (secondary outline) trailing

Review Card

  • Background: #FFFFFF, divider #E1DDD5 bottom
  • Reviewer avatar 36pt circle + name 14pt w500 + date 13pt #595959
  • Star row (16pt near-black stars) + review body 15pt w400 (4-line clamp + "Read more")
  • Optional reviewer photo thumbnails (56pt, 8pt radius)

Navigation

Bottom Tab Bar

  • Height: 56pt + safe area
  • Background: rgba(250,245,239,0.97) with .regularMaterial blur (warm)
  • Tabs: Home, Search, You, Favorites, Cart
  • Icon size: 24pt
  • Active: #F1641E icon + label (orange is the active indicator)
  • Inactive: #595959
  • Labels: Inter 11pt w500, always shown
  • Active icon: filled SF Symbol; inactive: outlined
  • Cart shows a count badge (orange dot) when non-empty
  • Hairline top border #E1DDD5

Top Nav (Home)

  • Height: 52pt + safe area
  • Etsy wordmark left (orange, ~64pt), notification + cart icons right
  • Search bar pinned below: full-width, #FFFFFF fill, 1pt #E1DDD5 border, 999pt radius
  • Compact + warm-blurred on scroll

Listing Sticky Bar

  • Appears on scroll: 56pt, cream with blur, bottom-anchored
  • Price (16pt w700) left + full-width-ish orange "Add to cart" CTA right

Input Fields

Search Bar

  • Background: #FFFFFF
  • Height: 48pt
  • Corner radius: 999pt (full pill)
  • Border: 1pt #E1DDD5
  • Leading SF Symbol magnifyingglass 18pt #595959
  • Placeholder: "Search for anything", 15pt w400 #595959
  • Focus: border #222222 1.5pt, trailing "Cancel" text button appears

Filter Chip

  • Background: #FFFFFF default / #FDEDE4 selected (with #F1641E 1.5pt border)
  • Text: #222222 (both states)
  • Padding: 8pt vertical, 16pt horizontal
  • Corner radius: 999pt
  • Border: 1pt #E1DDD5 default
  • Font: Inter 14pt weight 500
  • Examples: "Free shipping", "On sale", "Ready to ship", "Under $25"

Distinctive Components

Favorite Heart (the emotional core)

  • Outline heart idle, solid #F1641E active
  • Bounce: 1.0 → 1.25 → 1.0 spring (damping 0.5) over 300ms on tap, success haptic
  • Over photos: sits on a 36pt rgba(0,0,0,0.45) circular backing for contrast
  • Appears on every product card, the listing hero, and search results — the save-driven heart of the app

Handmade Warmth (the cream canvas)

  • The #FAF5EF canvas with white cards is the brand's signature surface treatment
  • White cards cast a soft, warm-tinted shadow so they feel like prints lifted off paper
  • Never replace the cream with stark white — the warmth is the differentiator

Listing Image Gallery

  • Full-bleed paged photo carousel, 1:1 / 4:5 maker photos
  • Paged dots bottom-center (6pt, inactive rgba(255,255,255,0.5), active #FFFFFF)
  • Swipe pages with snap + light haptic at each photo

"Bestseller" / "Etsy's Pick" Tag

  • Orange-tint pill: #FDEDE4 background, #F1641E text, 11pt w700 uppercase
  • Padding: 4pt vertical, 10pt horizontal, 999pt radius
  • Top-left over the product photo — social-proof at a glance
Responsive behaviourRead the full spec

Device Sizes

DeviceWidthKey Changes
iPhone SE (3rd gen)375pt2-col grid with tighter gutters; card text clamps sooner
iPhone 13/14/15390ptStandard 2-col product grid, full 1:1 photos
iPhone 15/16 Pro393ptDynamic Island accommodated in top nav
iPhone 15/16 Pro Max430ptLarger photos, listing hero grows to 4:5 full-bleed
iPad768pt+3-4 column product grid, listing detail in a split layout

Dynamic Type

  • Listing title, price, body: full scale
  • Card title: scales with a 2-line clamp before truncation
  • Badge text, tab labels, gallery photo-count pill: fixed
  • Review star size: fixed (geometric unit)

Orientation

  • Home / Search / Favorites: portrait-locked
  • Listing image gallery: rotates to landscape for full-screen photo viewing
  • Cart / checkout: portrait-locked

Touch Targets

  • Primary CTA: 48pt+ tall
  • Favorite heart: 44pt effective hit (over a 36pt backing on photos)
  • Gallery floating controls: 44pt hit area
  • Tab bar icons: 24pt glyph, 44pt effective hit
  • Product card: entire card tappable

Safe Area Handling

  • Top: wordmark nav + search bar respect the safe area / Dynamic Island
  • Bottom: tab bar floats above the home indicator with warm blur
  • Sides: 16pt content insets; listing hero photo bleeds full-width

Drop-in CSS variables

The same values as a theme block. Add the class to <body> and the site repaints.

body.theme-etsy {--page-bg: #faf5ef;
  --page-bg-gradient: none;
  --text-color: #222222;
  --heading-color: #222222;
  --link-color: #b3430c;
  --link-hover-color: #833109;
  --border-color: #d3cfca;
  --card-bg: #faf5ef;
  --card-shadow: 0 1px 2px rgba(34,34,34,0.06);
  --card-hover-shadow: 0 6px 18px rgba(34,34,34,0.12);
  --header-bg: #222222;
  --header-text-color: #ffffff;
  --header-shadow: none;
  --footer-bg: #faf5ef;
  --footer-text-color: #6e6c6a;
  --button-bg: #f1641e;
  --button-text-color: #000000;
  --button-hover-bg: #cf4d0d;
  --button-border: none;
  --button-border-radius: 12px;
  --button-secondary-bg: #ede8e3;
  --button-secondary-text-color: #222222;
  --button-secondary-hover-bg: #e0dcd6;
  --button-secondary-border: 1px solid #d3cfca;
  --prompt-bg: #efeae5;
  --prompt-text-color: #222222;
  --base-font: var(--font-helvetica);
  --heading-font: var(--font-inter);
  --card-border-radius: 12px;
}

Download theme.css

Visually close to

Measured with a deterministic colour + geometry comparison across 958 styles. Not a hand-picked list.

Where this came from

Source document
ios/design-md/finance/etsy/DESIGN.md · 19.6 KB
Repository
Meliwat/awesome-ios-design-md
Licence
MIT

Source text is reproduced under its original licence. Tokens, similarity scores and page structure are ours.