Spotify design system.

Spotify design system — Streaming de música. Verde vibrante em fundo escuro, tipografia em negrito, focado em capas de álbuns.

Veja em contexto

Os mesmos design tokens aplicados a diferentes tipos de artefato — um site, um app, um slide, um pôster. Mockups originais retematizados com este sistema, não capturas de tela.

Site
Slides
App
Pôster

Design tokens

56 tokens em conformidade com o contrato de tokens do Open Design — os mesmos valores estruturados de paleta, tipografia, espaçamento e movimento que seu agent lê para tematizar qualquer artefato.

Superfície

  • --bg #121212
  • --surface #181818
  • --surface-warm #1f1f1f

Texto

  • --fg #ffffff
  • --fg-2 #fdfdfd
  • --muted #b3b3b3
  • --meta #cbcbcb

Borda

  • --border #4d4d4d
  • --border-soft rgba(255, 255, 255, 0.1)

Destaque

  • --accent #1ed760
  • --accent-on #000000
  • --accent-hover #1db954
  • --accent-active color-mix(in oklab, var(--accent), black 10%)

Semântico

  • --success #1ed760
  • --warn #ffa42b
  • --danger #f3727f

Tipografia

  • --font-display "SpotifyMixUITitle", "CircularSp", "Helvetica Neue", Helvetica, Arial, sans-serif
  • --font-body "SpotifyMixUI", "CircularSp", "Helvetica Neue", Helvetica, Arial, sans-serif
  • --font-mono ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace

Escala tipográfica

  • --text-xs 10px
  • --text-sm 12px
  • --text-base 16px
  • --text-lg 18px
  • --text-xl 20px
  • --text-2xl 24px
  • --text-3xl 24px
  • --text-4xl 24px
  • --leading-body 1.50
  • --leading-tight 1.00
  • --tracking-display normal

Espaçamento

  • --space-1 4px
  • --space-2 8px
  • --space-3 12px
  • --space-4 16px
  • --space-5 20px
  • --space-6 24px
  • --space-8 32px
  • --space-12 48px
  • --section-y-desktop 64px
  • --section-y-tablet 40px
  • --section-y-phone 24px

Raio

  • --radius-sm 9999px
  • --radius-md 6px
  • --radius-lg 8px
  • --radius-pill 9999px

Elevação

  • --elev-flat none
  • --elev-ring 0 0 0 1px var(--border)
  • --elev-raised rgba(0, 0, 0, 0.3) 0px 8px 8px

Foco

  • --focus-ring 0 0 0 3px rgba(30, 215, 96, 0.4)

Movimento

  • --motion-fast 150ms
  • --motion-base 200ms
  • --ease-standard ease

Layout

  • --container-max 1280px
  • --container-gutter-desktop 24px
  • --container-gutter-tablet 16px
  • --container-gutter-phone 16px

Design System Inspirado no Spotify

Category: Mídia & Consumidor Streaming de música. Verde vibrante sobre fundo escuro, tipografia marcante, guiado pela arte dos álbuns.

1. Tema Visual & Atmosfera

A interface web do Spotify é um player de música escuro e imersivo que envolve os ouvintes em um casulo quase negro (#121212, #181818, #1f1f1f), onde a arte dos álbuns e o conteúdo se tornam a principal fonte de cor. A filosofia de design é “escuridão com o conteúdo em primeiro lugar” — a UI recua para as sombras para que a música, os podcasts e as playlists possam brilhar. Cada superfície é um tom de carvão, criando um ambiente semelhante a um cinema onde a única cor real vem do icônico Spotify Green (#1ed760) e da própria arte dos álbuns.

A tipografia usa SpotifyMixUI e SpotifyMixUITitle — fontes proprietárias da família CircularSp (Circular da Lineto, personalizada para o Spotify) com uma ampla pilha de fallback que inclui fontes árabes, hebraicas, cirílicas, gregas, devanágaris e CJK, refletindo o alcance global do Spotify. O sistema tipográfico é compacto e funcional: 700 (bold) para ênfase e navegação, 600 (semibold) para ênfase secundária e 400 (regular) para o corpo. Os botões usam maiúsculas com espaçamento positivo entre letras (1.4px–2px) para uma qualidade sistemática e semelhante a rótulos.

O que distingue o Spotify é sua geometria de pílulas e círculos. Os botões primários usam raio de 500px–9999px (pílula completa), os botões circulares de play usam raio de 50% e os campos de busca são pílulas de 500px. Combinados com sombras pesadas (rgba(0,0,0,0.5) 0px 8px 24px) em elementos elevados e uma combinação única de inset border-shadow (rgb(18,18,18) 0px 1px 0px, rgb(124,124,124) 0px 0px 0px 1px inset), o resultado é uma interface que parece um dispositivo de áudio premium — tátil, arredondada e construída para o toque.

Características Principais:

  • Tema escuro e imersivo quase negro (#121212#1f1f1f) — a UI desaparece atrás do conteúdo
  • Spotify Green (#1ed760) como único destaque da marca — nunca decorativo, sempre funcional
  • Família de fontes SpotifyMixUI/CircularSp com suporte a scripts globais
  • Botões em pílula (500px–9999px) e controles circulares (50%) — arredondados, otimizados para toque
  • Rótulos de botões em maiúsculas com espaçamento amplo entre letras (1.4px–2px)
  • Sombras pesadas em elementos elevados (rgba(0,0,0,0.5) 0px 8px 24px)
  • Cores semânticas: vermelho negativo (#f3727f), laranja de aviso (#ffa42b), azul de anúncio (#539df5)
  • Arte dos álbuns como fonte primária de cor — a UI é acromática por design

2. Paleta de Cores & Funções

Marca Principal

  • Spotify Green (#1ed760): Destaque principal da marca — botões de play, estados ativos, CTAs
  • Near Black (#121212): Superfície de fundo mais profunda
  • Dark Surface (#181818): Cards, contêineres, superfícies elevadas
  • Mid Dark (#1f1f1f): Fundos de botões, superfícies interativas

Texto

  • White (#ffffff): --text-base, texto principal
  • Silver (#b3b3b3): Texto secundário, rótulos silenciados, navegação inativa
  • Near White (#cbcbcb): Texto secundário ligeiramente mais brilhante
  • Light (#fdfdfd): Quase branco puro para ênfase máxima

Semântico

  • Negative Red (#f3727f): --text-negative, estados de erro
  • Warning Orange (#ffa42b): --text-warning, estados de aviso
  • Announcement Blue (#539df5): --text-announcement, estados informativos

Superfície & Borda

  • Dark Card (#252525): Superfície de card elevado
  • Mid Card (#272727): Superfície alternativa de card
  • Border Gray (#4d4d4d): Bordas de botões sobre fundo escuro
  • Light Border (#7c7c7c): Bordas de botões com contorno, links silenciados
  • Separator (#b3b3b3): Linhas divisórias
  • Light Surface (#eeeeee): Botões em modo claro (uso raro)
  • Spotify Green Border (#1db954): Variante de borda com destaque verde

Sombras

  • Heavy (rgba(0,0,0,0.5) 0px 8px 24px): Diálogos, menus, painéis elevados
  • Medium (rgba(0,0,0,0.3) 0px 8px 8px): Cards, dropdowns
  • Inset Border (rgb(18,18,18) 0px 1px 0px, rgb(124,124,124) 0px 0px 0px 1px inset): Combinação de borda e sombra para inputs

3. Regras de Tipografia

Famílias de Fontes

  • Título: SpotifyMixUITitle, fallbacks: CircularSp-Arab, CircularSp-Hebr, CircularSp-Cyrl, CircularSp-Grek, CircularSp-Deva, Helvetica Neue, helvetica, arial, Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, MS Gothic
  • UI / Corpo: SpotifyMixUI, mesma pilha de fallback

Hierarquia

FunçãoFonteTamanhoPesoAltura de LinhaEspaçamento de LetrasObservações
Título de SeçãoSpotifyMixUITitle24px (1.50rem)700normalnormalPeso bold para título
Cabeçalho de DestaqueSpotifyMixUI18px (1.13rem)6001.30 (compacto)normalCabeçalhos de seção semibold
Corpo BoldSpotifyMixUI16px (1.00rem)700normalnormalTexto enfatizado
CorpoSpotifyMixUI16px (1.00rem)400normalnormalCorpo padrão
Botão MaiúsculasSpotifyMixUI14px (0.88rem)600–7001.00 (compacto)1.4px–2pxtext-transform: uppercase
BotãoSpotifyMixUI14px (0.88rem)700normal0.14pxBotão padrão
Link de Nav BoldSpotifyMixUI14px (0.88rem)700normalnormalNavegação
Link de NavSpotifyMixUI14px (0.88rem)400normalnormalNav inativa
Legenda BoldSpotifyMixUI14px (0.88rem)7001.50–1.54normalMetadados em bold
LegendaSpotifyMixUI14px (0.88rem)400normalnormalMetadados
Pequeno BoldSpotifyMixUI12px (0.75rem)7001.50normalTags, contagens
PequenoSpotifyMixUI12px (0.75rem)400normalnormalLetras miúdas
BadgeSpotifyMixUI10.5px (0.66rem)6001.33normaltext-transform: capitalize
MicroSpotifyMixUI10px (0.63rem)400normalnormalTexto mínimo

Princípios

  • Binário bold/regular: A maior parte do texto é 700 (bold) ou 400 (regular), com 600 usado com moderação. Isso cria uma hierarquia visual clara por contraste de peso, não por variação de tamanho.
  • Botões em maiúsculas como sistema: Rótulos de botões usam maiúsculas + espaçamento amplo entre letras (1.4px–2px), criando uma “voz de rótulo” sistemática, distinta do texto de conteúdo.
  • Tamanho compacto: O intervalo é de 10px–24px — mais estreito do que a maioria dos sistemas. A tipografia do Spotify é compacta e funcional, projetada para percorrer playlists, não para ler artigos.
  • Suporte a scripts globais: A ampla pilha de fallback (árabe, hebraico, cirílico, grego, devanágari, CJK) reflete o alcance do Spotify em mais de 180 mercados.

4. Estilos de Componentes

Botões

Dark Pill

  • Background: #1f1f1f
  • Text: #ffffff or #b3b3b3
  • Padding: 8px 16px
  • Radius: 9999px (pílula completa)
  • Uso: Pílulas de navegação, ações secundárias

Dark Large Pill

  • Background: #181818
  • Text: #ffffff
  • Padding: 0px 43px
  • Radius: 500px
  • Uso: Botões de navegação principal do app

Light Pill

  • Background: #eeeeee
  • Text: #181818
  • Radius: 500px
  • Uso: CTAs em modo claro (consentimento de cookies, marketing)

Outlined Pill

  • Background: transparent
  • Text: #ffffff
  • Border: 1px solid #7c7c7c
  • Padding: 4px 16px 4px 36px (assimétrico para ícone)
  • Radius: 9999px
  • Uso: Botões de seguir, ações secundárias

Circular Play

  • Background: #1f1f1f
  • Text: #ffffff
  • Padding: 12px
  • Radius: 50% (círculo)
  • Uso: Controles de play/pause

Cards & Contêineres

  • Background: #181818 or #1f1f1f
  • Radius: 6px–8px
  • Sem bordas visíveis na maioria dos cards
  • Hover: leve clareamento do background
  • Shadow: rgba(0,0,0,0.3) 0px 8px 8px nos elevados

Inputs

  • Input de busca: background #1f1f1f, texto #ffffff
  • Radius: 500px (pílula)
  • Padding: 12px 96px 12px 48px (considerando ícone)
  • Focus: borda se torna #000000, outline 1px solid
  • Sidebar escura com SpotifyMixUI 14px peso 700 para ativo, 400 para inativo
  • Cor silenciada #b3b3b3 para itens inativos, #ffffff para ativos
  • Botões de ícone circulares (raio 50%)
  • Logo do Spotify no canto superior esquerdo em verde

5. Princípios de Layout

Sistema de Espaçamento

  • Unidade base: 8px
  • Escala: 1px, 2px, 3px, 4px, 5px, 6px, 8px, 10px, 12px, 14px, 15px, 16px, 20px

Grade & Contêiner

  • Sidebar (fixa) + área de conteúdo principal
  • Cards de álbuns/playlists em grade
  • Barra de reprodução atual em largura total na parte inferior
  • Área de conteúdo responsiva preenche o espaço restante

Filosofia de Espaço em Branco

  • Compressão escura: O Spotify empacota o conteúdo de forma densa — grades de playlists, listas de faixas e navegação têm espaçamento apertado. O fundo escuro proporciona descanso visual entre os elementos sem precisar de grandes espaços.
  • Densidade de conteúdo em vez de respiro: Este é um app, não um site de marketing. Cada pixel serve à experiência de escuta.

Escala de Border Radius

  • Mínimo (2px): Badges, tags explícitas
  • Sutil (4px): Inputs, elementos pequenos
  • Padrão (6px): Contêineres de arte de álbum, cards
  • Confortável (8px): Seções, diálogos
  • Médio (10px–20px): Painéis, elementos de overlay
  • Grande (100px): Botões grandes em pílula
  • Pílula (500px): Botões primários, input de busca
  • Pílula Completa (9999px): Pílulas de navegação, busca
  • Círculo (50%): Botões de play, avatares, ícones

6. Profundidade & Elevação

NívelTratamentoUso
Base (Nível 0)Background #121212Camada mais profunda, fundo da página
Superfície (Nível 1)#181818 or #1f1f1fCards, sidebar, contêineres
Elevado (Nível 2)rgba(0,0,0,0.3) 0px 8px 8pxMenus dropdown, hover cards
Diálogo (Nível 3)rgba(0,0,0,0.5) 0px 8px 24pxModais, overlays, menus
Inset (Borda)rgb(18,18,18) 0px 1px 0px, rgb(124,124,124) 0px 0px 0px 1px insetBordas de inputs

Filosofia de Sombras: O Spotify usa sombras notavelmente pesadas para um app com tema escuro. A sombra de opacidade 0.5 com blur de 24px cria um efeito dramático de “flutuando na escuridão” para diálogos e menus, enquanto a opacidade 0.3 com blur de 8px proporciona uma elevação mais sutil para cards. A combinação única de inset border-shadow nos inputs cria uma qualidade entalhada e tátil.

7. O Que Fazer e Não Fazer

Faça

  • Use fundos quase negros (#121212#1f1f1f) — profundidade por variação de tonalidade
  • Aplique Spotify Green (#1ed760) apenas em controles de play, estados ativos e CTAs primários
  • Use o formato pílula (500px–9999px) em todos os botões — circular (50%) para controles de play
  • Aplique maiúsculas + espaçamento amplo entre letras (1.4px–2px) nos rótulos de botões
  • Mantenha a tipografia compacta (intervalo de 10px–24px) — isto é um app, não uma revista
  • Use sombras pesadas (opacidade 0.3–0.5) para elementos elevados em fundos escuros
  • Deixe a arte dos álbuns fornecer cor — a UI em si é acromática

Não Faça

  • Não use Spotify Green decorativamente ou em fundos — ele é apenas funcional
  • Não use fundos claros para superfícies primárias — a imersão no escuro é essencial
  • Não ignore a geometria de pílula/círculo nos botões — botões quadrados quebram a identidade
  • Não use sombras finas/sutis — em fundos escuros, as sombras precisam ser pesadas para serem visíveis
  • Não adicione cores de marca adicionais — verde + cinzas acromáticos é a paleta completa
  • Não use alturas de linha relaxadas — a tipografia do Spotify é compacta e densa
  • Não exponha bordas cinzas brutas — use bordas baseadas em sombra ou inset em vez disso

8. Comportamento Responsivo

Breakpoints

NomeLarguraPrincipais Mudanças
Mobile Small<425pxLayout mobile compacto
Mobile425–576pxMobile padrão
Tablet576–768pxGrade de 2 colunas
Tablet Large768–896pxLayout expandido
Desktop Small896–1024pxSidebar visível
Desktop1024–1280pxLayout desktop completo
Large Desktop>1280pxGrade expandida

Estratégia de Colapso

  • Sidebar: completa → recolhida → oculta
  • Grade de álbuns: 5 colunas → 3 → 2 → 1
  • Barra de reprodução atual: mantida em todos os tamanhos
  • Busca: input em pílula mantido, largura se ajusta
  • Navegação: sidebar → barra inferior no mobile

9. Guia de Prompts para Agentes

Referência Rápida de Cores

  • Background: Near Black (#121212)
  • Surface: Dark Card (#181818)
  • Text: White (#ffffff)
  • Texto secundário: Silver (#b3b3b3)
  • Destaque: Spotify Green (#1ed760)
  • Border: #4d4d4d
  • Erro: Negative Red (#f3727f)

Exemplos de Prompts de Componentes

  • “Crie um card escuro: background #181818, raio 8px. Título em 16px SpotifyMixUI peso 700, texto branco. Subtítulo em 14px peso 400, #b3b3b3. Shadow rgba(0,0,0,0.3) 0px 8px 8px no hover.”
  • “Crie um botão pílula: background #1f1f1f, texto branco, raio 9999px, padding 8px 16px. 14px SpotifyMixUI peso 700, maiúsculas, letter-spacing 1.4px.”
  • “Crie um botão circular de play: background Spotify Green (#1ed760), ícone #000000, raio 50%, padding 12px.”
  • “Crie um input de busca: background #1f1f1f, texto branco, raio 500px, padding 12px 48px. Inset border: rgb(124,124,124) 0px 0px 0px 1px inset.”
  • “Crie uma sidebar de navegação: background #121212. Itens ativos: 14px peso 700, branco. Inativos: 14px peso 400, #b3b3b3.”

Guia de Iteração

  1. Comece com #121212 — tudo vive na escuridão quase negra
  2. Spotify Green apenas para destaques funcionais (play, ativo, CTA)
  3. Tudo em pílula — 500px para grandes, 9999px para pequenos, 50% para circulares
  4. Maiúsculas + rastreamento amplo nos botões — a voz sistemática de rótulo
  5. Sombras pesadas (opacidade 0.3–0.5) para elevação — sombras leves são invisíveis no escuro
  6. A arte dos álbuns fornece toda a cor — a UI permanece acromática
Modo
design-system
Cena
design
Superfície
web
ID do manifest
design-system-spotify

Tags

  • design-system
  • first-party
  • design
  • media-consumer