Ir para o conteúdo
Color Picker

Seletor de cores: obtenha códigos de cor exatos de qualquer imagem ou da tela

Use o seletor de cores para escolher um pixel de uma foto, de uma captura de tela ou da sua tela e copiá-lo como HEX, RGB, HSL ou OKLCH; depois monte tons, paletas e pares de cores com contraste seguro. Suas imagens ficam no seu dispositivo.

Seletor de cores

Escolha uma cor

Cole qualquer formato: HEX (3, 4, 6 ou 8 dígitos), rgb(), hsl(), hsv(), oklch(), cmyk() ou um nome de cor CSS.

Recentes

Cor atual

  • HEX
  • RGB
  • HSL
  • HSV / HSB
  • OKLCH
  • CMYK ≈

Aqui o CMYK é a fórmula simples a partir do RGB, não um perfil de impressão (ICC) — peça uma prova à gráfica antes de imprimir uma tiragem.

Escolha uma cor de uma imagem

Sua imagem é lida apenas dentro desta aba do navegador. Ela nunca é enviada nem carregada para lugar nenhum.

Solte uma imagem aqui, cole-a (Ctrl+V / ⌘V) ou

PNG, JPEG, WebP, GIF, AVIF, BMP, SVG; HEIC funciona onde o seu navegador consegue abri-lo. Até 40 MB.

Sua paleta

Reúna cores do seletor, da imagem ou das amostras abaixo. Salvo apenas neste navegador.

Nenhuma cor ainda — pressione “+ Adicionar à paleta” ou “+ Paleta” depois de escolher em uma imagem.

Tons claros, escuros e acinzentados

Passos uniformes de luminosidade (OKLCH)

Mesmo matiz e croma, luminosidade em passos iguais de 8% — degraus de aparência uniforme para paletas de interface.

Tons claros (misturados com branco)

Tons escuros (misturados com preto)

Tons acinzentados (misturados com cinza)

Harmonias de cores

Complementar

Análoga

Tríade

Complementar dividida

Tetrádica (retângulo)

Quadrada

Verificador de contraste (WCAG 2.2)

Texto / primeiro plano

razão de contraste

  • AA · texto normal 4.5:1
  • AA · texto grande 3:1
  • AAA · texto normal 7:1
  • AAA · texto grande 4.5:1
  • Elementos de interface & ícones 3:1

Texto normal — um pequeno jabuti xereta viu dez cegonhas felizes.

Texto grande 24px

Botão

A WCAG compara a razão exata: 4,499:1 não passa em 4,5:1. Texto grande = 24px, ou 18,5px em negrito.

Use esta cor no código

Este seletor de cores lê o pixel exato que você aponta em uma imagem, ou em qualquer lugar da tela nos navegadores que permitem isso, e entrega a cor em HEX, RGB, HSL, HSV, OKLCH e um CMYK aproximado, com alfa quando o pixel tem. A partir daí você pode montar uma escala de tons em OKLCH, tons claros, tons escuros e harmonias de cores, reunir várias cores escolhidas em uma paleta, conferir o contraste do texto pela WCAG e exportar tudo como CSS, SCSS ou JSON. Sua imagem é decodificada e amostrada no seu navegador; ela nunca é enviada.

Como usar o seletor de cores

  1. Carregue uma imagem. Solte um arquivo, escolha um ou cole uma captura de tela da área de transferência. PNG, JPEG, WebP, GIF, AVIF, BMP e SVG de até 40 MB funcionam em qualquer lugar; HEIC só onde o seu navegador consegue abri-lo, e um arquivo que ele não abre recebe uma mensagem clara em vez de uma tela em branco. A ferramenta amostra o bitmap em resolução total, não a cópia reduzida que você vê na tela. Só imagens acima de 16,7 megapixels são lidas a partir de uma cópia reduzida, e a ferramenta avisa quando isso acontece. Ela também lista as cores dominantes da imagem com a participação de cada uma.
  2. Mire com a lupa. A lupa mostra a grade de pixels ao redor do ponteiro do mouse ou do seu dedo, para você ver se está sobre uma área lisa ou sobre uma borda suavizada. Pelo teclado, as setas movem o ponto de escolha um pixel (Shift: dez) e Enter o escolhe.
  3. Escolha o tamanho da amostra. 1 pixel dá o valor bruto; uma média 3×3 ou 5×5 suaviza o ruído do JPEG e o grão das fotos. Eu uso 1 pixel para logotipos e interfaces, e uma média para fotos.
  4. Ou escolha pela tela. Nos navegadores Chromium em computador (Chrome, Edge, Opera), o botão do conta-gotas deixa você clicar em qualquer pixel do monitor, até fora da janela do navegador. O Firefox e o Safari não têm esse recurso; a ferramenta avisa e indica o caminho pela imagem.
  5. Ou digite um código. Cole #1d4ed8 (3, 4, 6 ou 8 dígitos), rgb(29 78 216), hsl(224 76% 48%), um valor hsv(), oklch() ou cmyk(), ou um nome de cor CSS, e todos os outros formatos se atualizam. Uma chave alterna a saída entre o CSS moderno, com espaços, e o formato antigo, com vírgulas.
  6. Reúna e exporte. Adicione as cores escolhidas à paleta, que fica salva no seu navegador, e copie ou baixe-a como propriedades personalizadas de CSS, SCSS, JSON ou uma lista simples de HEX.

HEX, RGB, HSL, HSV e OKLCH: qual código usar

Formatos de cor para #1D4ED8
FormatoValorO que os números significamQuando eu uso
HEX#1D4ED8Vermelho, verde e azul, com dois dígitos hexadecimais cada (00–FF). Com 8 dígitos, o alfa vem por último: #RRGGBBAA.Para passar uma cor a qualquer pessoa: Figma, CSS, manuais de marca.
RGBrgb(29 78 216)Os mesmos canais em decimal, de 0 a 255.Cálculos com canais em código; a forma antiga com vírgulas, rgb(29, 78, 216), está a uma chave de distância.
HSLhsl(224.3 76.3% 48%)Ângulo do matiz, saturação, luminosidade. Um remapeamento geométrico do RGB, não perceptivo.Ajustes rápidos de matiz à mão.
HSV / HSBhsv(224.3 86.6% 84.7%)Matiz, saturação, valor (brilho). Não é uma função CSS.Para bater com o quadrado de escolha do Photoshop ou do Figma.
OKLCHoklch(48.82% 0.2172 264.38)Luminosidade percebida de 0 a 100% (ou de 0 a 1), croma de cerca de 0 a 0,4, matiz de 0 a 360.Tokens de design, escalas de tons, paletas acessíveis.
CMYKcmyk(87% 64% 0% 15%)Divisão ingênua em tintas, sem perfil de impressora.Um ponto de partida para conversar com a gráfica, nunca um valor final de impressão.

O OKLCH vem do CSS Color Module Level 4 e é a forma cilíndrica do espaço Oklab. Seu eixo L é construído para acompanhar o quão clara uma cor parece, justamente o que a luminosidade do HSL erra. O amarelo puro e o azul puro têm ambos L 50% no HSL, mas um parece quase branco e o outro é escuro:

Gráfico de barras da luminosidade OKLCH de seis matizes puros que têm todos luminosidade HSL de 50%: amarelo 0,968, ciano 0,905, lima 0,866, magenta 0,702, vermelho 0,628, azul 0,452
Seis cores com a mesma luminosidade HSL cobrem quase metade da escala de luminosidade do OKLCH.

Por isso eu monto toda escala de tons em OKLCH: passos iguais em L parecem passos iguais, em qualquer matiz, e o contraste do texto fica muito mais previsível.

Exemplo resolvido: convertendo #1D4ED8

De HEX para RGB. Separe em pares e leia cada um na base 16:

1D = 1×16 + 13 = 29 · 4E = 4×16 + 14 = 78 · D8 = 13×16 + 8 = 216 → rgb(29 78 216)

De RGB para HSL. Converta para a escala de 0 a 1: R = 0,1137; G = 0,3059; B = 0,8471. Máximo = 0,8471 (azul), mínimo = 0,1137, diferença d = 0,7333.

L = (max + min) / 2 = 0.4804 → 48%
S = d / (1 − |2L − 1|) = 0.7333 / 0.9608 = 0.7633 → 76.3%
H = 60° × ((R − G) / d + 4) = 60° × 3.7380 = 224.3° → hsl(224.3 76.3% 48%)

De RGB para HSV. V = máximo = 84,7%; S = d / máximo = 0,7333 / 0,8471 = 86,6%; o matiz é o mesmo, 224,3°, então hsv(224.3 86.6% 84.7%).

De RGB para CMYK. K = 1 − max(R, G, B) = 1 − 0,8471 = 15,3%; depois C = (1 − R − K) / (1 − K) = 86,6%; M = 63,9%; Y = 0%, exibido como cmyk(87% 64% 0% 15%). É aritmética simples, não um perfil de tinta.

De RGB para OKLCH. Cada canal é linearizado (desfazendo a gama do sRGB), convertido para Oklab por duas matrizes fixas com uma raiz cúbica no meio, e então a e b viram croma e matiz. O resultado é oklch(48.82% 0.2172 264.38), que o CSS também aceita como oklch(0.4882 0.2172 264.38). O matiz do OKLCH (264°) difere do matiz do HSL (224°) porque as rodas de matiz são organizadas de formas diferentes.

Por que uma cor escolhida pode diferir em alguns valores

Duas pessoas que escolhem a mesma cor de marca podem obter #1D4ED8 e #1E4FD6 sem que nenhuma ferramenta esteja errada:

  • A compressão JPEG guarda a cor em resolução reduzida e em blocos de 8×8, então pixels vizinhos em uma área lisa variam algumas unidades. Se nove valores de vermelho forem 27, 29, 31, 28, 30, 29, 26, 32, 29, a média é 261 ÷ 9 = 29, que é o valor que o designer provavelmente usou.
  • Capturas de tela redimensionadas misturam pixels. Uma captura Retina reduzida à metade mistura cada bloco de 2×2, então texto fino e bordas viram cores intermediárias.
  • O antisserrilhado em bordas e letras cria pixels de transição que não pertencem a nenhuma das duas cores. Escolha no meio de um preenchimento liso, nunca na borda.
  • O conta-gotas de tela devolve o que está sendo exibido, depois do gerenciamento de cores e de recursos como Night Shift ou True Tone, e informa um HEX em sRGB. O valor do arquivo pode ser diferente; para valores exatos, escolha na própria imagem.

Transparência. Em #1D4ED880, o último par é o alfa: 80 em hexadecimal = 128, e 128 ÷ 255 = 0,502, ou seja, cerca de 50% de opacidade. No CSS o alfa vem por último; o ARGB do Android o põe primeiro, uma confusão comum. O que você vê depende do fundo: sobre branco, cada canal vira 0,502 × cor + 0,498 × 255, o que dá aproximadamente #8EA6EB. A ferramenta mantém o alfa de PNG, WebP e outros formatos que o têm e avisa quando o pixel escolhido não é totalmente opaco. Um pixel totalmente transparente é informado como transparente, em vez de ser lido por engano como preto, e as médias são ponderadas pelo alfa, para que pixels translúcidos não puxem o resultado para o preto.

Tons claros, tons escuros e paletas

Classicamente, um tom claro (tint) é uma cor misturada com branco, um tom escuro (shade) é misturada com preto e um tom acinzentado (tone) com cinza. Misturar em RGB dá passos irregulares, então a escala daqui mantém o matiz e o croma no OKLCH e move a luminosidade em dez passos iguais, de L 96% até 24%, reduzindo o croma só onde a cor sairia da gama do sRGB; o passo mais próximo da sua cor aparece marcado. As linhas de tons claros, escuros e acinzentados são misturas simples em sRGB com branco, preto e cinza médio em passos de 10%, úteis para estados rápidos de hover e desabilitado. Você pode copiar a escala como variáveis CSS ou continuar no próprio CSS com a sintaxe de cor relativa, como oklch(from var(--brand) calc(l + 0.15) c h).

Para cada cor, a ferramenta também informa o nome mais próximo entre os 148 nomes de cor do CSS, todos em sRGB, medindo a distância em OKLab, e diz se a correspondência é exata (#663399 é exatamente rebeccapurple, #808080 é gray, também escrito grey) ou apenas a mais próxima (#1D4ED8 fica mais perto de royalblue).

Seis harmonias de cores são construídas girando o matiz: complementar, análoga, tríade, complementar dividida, tetrádica e quadrada. Aqui a tetrádica é o retângulo (+60°, +180°, +240°), que não é o quadrado (+90°, +180°, +270°). Para #1D4ED8, o complemento é #D8A71D, a segunda cor tetrádica é #A71DD8 e a segunda cor do quadrado é #D81DAC. Cada conjunto pode ser copiado como variáveis CSS.

Conferindo o contraste pela WCAG

A razão de contraste da WCAG é (L1 + 0,05) / (L2 + 0,05), em que L1 é a luminância relativa da cor mais clara e L2 a da mais escura. A luminância é 0,2126 R + 0,7152 G + 0,0722 B sobre canais sRGB linearizados, e por isso o verde pesa dez vezes mais que o azul.

  • AA: 4,5:1 para texto normal, 3:1 para texto grande (pelo menos 18 pt, ou 14 pt em negrito).
  • AAA: 7:1 para texto normal, 4,5:1 para texto grande.
  • Contraste de elementos que não são texto, como ícones, bordas de campos e anéis de foco: 3:1.

A WCAG diz que a razão calculada não pode ser arredondada, então 4,499:1 não passa em 4,5:1. O caso clássico são dois cinzas vizinhos sobre branco. Para #767676: 76 em hexadecimal = 118, 118 ÷ 255 = 0,4627, linearizado ((0,4627 + 0,055) / 1,055)^2,4 = 0,1812, razão 1,05 / 0,2312 = 4,54:1. Para #777777: valor linear 0,1845, razão 1,05 / 0,2345 = 4,48:1.

#767676 sobre branco com 4,54:1 passa no AA; #777777 sobre branco com 4,48:1 não passa no AA; escala de 1:1 a 21:1 com marcas em 3:1, 4,5:1 e 7:1
Uma unidade por canal leva o texto cinza para o outro lado da linha do AA.

O verificador da ferramenta usa exatamente essa fórmula. Ele mostra a razão, cinco selos de passa ou não passa (AA e AAA para texto normal e grande, mais 3:1 para elementos de interface e ícones), um medidor e uma prévia ao vivo. A razão tem duas casas decimais, mas, quando o arredondamento cruzaria um limite, mostra três; assim #007BC8 sobre branco aparece como 4,499:1 e não passa, em vez de exibir um enganoso 4,50. Texto semitransparente é misturado ao fundo antes da medição. Quando um par não passa no AA, a ferramenta sugere a cor mais próxima que passa: ela mantém o matiz e o croma do OKLCH e move só a luminosidade, de modo que #777777 sobre branco vira #767676.

Nosso azul de exemplo #1D4ED8 sobre branco dá 6,70:1: bom para texto corrido no AA, mas abaixo do AAA. No meu trabalho, busco 4,5:1 em todo texto, até em títulos grandes, porque a margem cobre telas baratas e ambientes muito claros.

Como o seletor de cores funciona e como é verificado

As imagens são decodificadas em um canvas no seu dispositivo e lidas pixel a pixel; nada é enviado a um servidor, e a paleta (até 48 cores) fica só no seu navegador. O conta-gotas de tela usa a EyeDropper API, que exige uma página segura (HTTPS) e um clique para começar, e funciona apenas em navegadores baseados em Chromium; no Firefox e no Safari, use o caminho pela imagem. As conversões seguem as fórmulas do CSS Color 4 para sRGB, HSL, HSV e OKLCH. Os valores são arredondados só para exibição (HSL e HSV com uma casa decimal; luminosidade do OKLCH em porcentagem com duas casas, croma com quatro e matiz com duas); a aprovação ou reprovação no contraste é decidida pela razão sem arredondar. O CMYK usa a fórmula simples K = 1 − max(R, G, B), sem perfil ICC, então trate-o como aproximado.

Casos de controle (recalculados de forma independente)
EntradaResultado esperado
#1D4ED8rgb(29 78 216), hsl(224.3 76.3% 48%), hsv(224.3 86.6% 84.7%), oklch(48.82% 0.2172 264.38), cmyk(87% 64% 0% 15%), nome mais próximo royalblue
#4169E1, #808080nomes exatos royalblue e gray (também grey); os 148 nomes CSS são lidos com o HEX correto
#8B5CF6, #0E9F6Enomes mais próximos mediumslateblue e seagreen; #0E9F6E = oklch(62.22% 0.1333 162.27)
#1D4ED880rgb(29 78 216 / 50.2%); formato antigo rgba(29, 78, 216, 0.502)
Escala OKLCH de #1D4ED8L 96% #EBF2FF, L 48% #1B4BD5 (marcado como o mais próximo), L 24% #01006C
Tom claro, tom escuro e tom acinzentado de 50% de #1D4ED8#8EA7EC, #0F276C, #4F67AC
Harmonias de #1D4ED8complementar #D8A71D; tríade #D81D4E e #4ED81D; tetrádica (+60°) #A71DD8; quadrada (+90°) #D81DAC
#777777 sobre #FFFFFF4,48:1, não passa no AA para texto normal, passa para texto grande e elementos de interface; sugestão #767676
#767676 sobre #FFFFFF4,54:1, passa no AA, sem sugestão
#007BC8 sobre #FFFFFF4,499:1 exibido sem arredondar, não passa no AA
#1D4ED8 sobre #FFFFFF6,70:1, passa no AA, não passa no AAA para texto normal
#1D4ED880 sobre #FFFFFFmisturado antes a #8EA6EB, 2,39:1
Imagem de teste: 1 px, médias 3×3 e 5×5, pixels transparentes e semitransparentes, setas do teclado, toquevalores iguais aos calculados à mão; nenhuma requisição de rede

Vá mais fundo

Guias sobre cores (em inglês)

Perguntas frequentes sobre o seletor de cores

Como encontro o código hexadecimal de uma cor em uma imagem?

Solte ou cole a imagem no seletor de cores, passe a lupa sobre uma área lisa e clique. O código HEX aparece junto com RGB, HSL e OKLCH; em fotos e JPEGs, mude para uma média 3×3 ou 5×5 para que o grão não distorça o valor.

Por que o conta-gotas de tela não funciona no Firefox ou no Safari?

Ele depende da EyeDropper API, que só os navegadores baseados em Chromium, como Chrome, Edge e Opera, aceitam, e só em páginas HTTPS. Nos outros navegadores a ferramenta avisa; tire uma captura de tela e escolha a cor nela, como imagem.

Minha imagem é enviada para algum servidor?

Não. A imagem é decodificada e lida dentro do seu navegador e nunca sai do seu dispositivo. As paletas salvas ficam apenas no armazenamento local do seu navegador.

Devo usar OKLCH em vez de HSL?

Para paletas e tokens de design, sim. A luminosidade do OKLCH acompanha o quão claras as cores parecem, então passos iguais dão tons uniformes em todos os matizes, enquanto o HSL dá ao amarelo puro e ao azul puro a mesma luminosidade de 50%. Ele é aceito em todos os principais navegadores atuais.

Por que a cor que escolhi é um pouco diferente da cor da marca?

A compressão JPEG, capturas de tela redimensionadas, bordas suavizadas e o gerenciamento de cores da tela deslocam pixels isolados em alguns valores. Faça a média de uma área em uma parte lisa da imagem ou peça os valores oficiais da marca.

4,48:1 conta como aprovado no WCAG AA?

Não. A WCAG diz que a razão não pode ser arredondada, então qualquer valor abaixo de 4,5:1 não passa no AA para texto normal. Ele passa no mínimo de 3:1 para texto grande, que é de pelo menos 18 pt, ou 14 pt em negrito.

Atualizado em · Sobre este site