Tester schematów kolorów strony
Przetestuj jak twoja paleta kolorów wygląda na makiecie strony: nagłówek, karty, przyciski, tekst. Wczytaj URL lub wklej palettę HEX. Bezpłatnie.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Kolorów w palecie
8 ról: tło, powierzchnia, tekst, tekst pomocniczy, obramowanie, primary, secondary, akcent
Sprawdzonych par
Par spełniających AA
Par poniżej AA
Najsłabszy kontrast
Border on Background
/* Optional: add extra CSS for the preview sandbox */
/* Example: .badge { border-radius: 999px; } */| Etykieta | Fg | Bg | Stosunek | Aa | Aaa | Aa Threshold | Aaa Threshold | Typ |
|---|---|---|---|---|---|---|---|---|
| Text on Background | #0f172a | #f8fafc | 17,062934 | Tak | Tak | 4,5 | 7 | text |
| Muted Text on Background | #475569 | #f8fafc | 7,242511 | Tak | Tak | 4,5 | 7 | text |
| Text on Surface | #0f172a | #ffffff | 17,852535 | Tak | Tak | 4,5 | 7 | text |
| Muted Text on Surface | #475569 | #ffffff | 7,577664 | Tak | Tak | 4,5 | 7 | text |
| Primary on Background (links) | #2563eb | #f8fafc | 4,939955 | Tak | Nie | 4,5 | 7 | text |
| Secondary on Surface | #0ea5e9 | #ffffff | 2,771412 | Nie | Nie | 4,5 | 7 | text |
| Button Text on Primary | #ffffff | #2563eb | 5,168556 | Tak | Nie | 4,5 | 7 | text |
| Button Text on Secondary | #111827 | #0ea5e9 | 6,400967 | Tak | Nie | 4,5 | 7 | text |
| Border on Background | #e2e8f0 | #f8fafc | 1,178257 | Nie | Nie | 3 | 4,5 | ui |
| Border on Surface | #e2e8f0 | #ffffff | 1,232781 | Nie | Nie | 3 | 4,5 | ui |
:root {
--acme-bg: #f8fafc;
--acme-surface: #ffffff;
--acme-text: #0f172a;
--acme-muted: #475569;
--acme-border: #e2e8f0;
--acme-primary: #2563eb;
--acme-secondary: #0ea5e9;
--acme-accent: #f97316;
--acme-on-primary: #ffffff;
--acme-on-secondary: #111827;
}
| Para | Tekst | Tło | Kontrast | AA | AAA |
|---|---|---|---|---|---|
| Text on Background | #0f172a | #f8fafc | 17,06 | Tak | Tak |
| Muted Text on Background | #475569 | #f8fafc | 7,24 | Tak | Tak |
| Text on Surface | #0f172a | #ffffff | 17,85 | Tak | Tak |
| Muted Text on Surface | #475569 | #ffffff | 7,58 | Tak | Tak |
| Primary on Background (links) | #2563eb | #f8fafc | 4,94 | Tak | Nie |
| Secondary on Surface | #0ea5e9 | #ffffff | 2,77 | Nie | Nie |
| Button Text on Primary | #ffffff | #2563eb | 5,17 | Tak | Nie |
| Button Text on Secondary | #111827 | #0ea5e9 | 6,40 | Tak | Nie |
| Border on Background | #e2e8f0 | #f8fafc | 1,18 | Nie | Nie |
| Border on Surface | #e2e8f0 | #ffffff | 1,23 | Nie | Nie |
| Rola | Co oznacza | Gdzie silnik jej używa |
|---|---|---|
| background | Tło strony | Tło dla tekstu, tekstu pomocniczego, linków i obramowania |
| surface | Powierzchnia (karty, panele) | Tło dla tekstu, tekstu pomocniczego, dodatkowego i obramowania |
| text | Tekst główny | Kontrast z tłem i powierzchnią |
| muted | Tekst pomocniczy | Kontrast z tłem i powierzchnią |
| border | Obramowanie | Granice komponentów na tle i powierzchni (próg 3:1 dla UI) |
| primary | Kolor główny | Linki na tle; tekst na przycisku dobierany automatycznie (biały/czarny) |
| secondary | Kolor dodatkowy | Elementy na powierzchni; tekst na przycisku dobierany automatycznie |
| accent | Akcent | Wyróżnienia, odznaki, aktywne stany |
| Typ pary | Próg AA | Próg AAA | Dotyczy |
|---|---|---|---|
| Zwykły tekst | 4,5:1 | 7,0:1 | Tekst na tle i powierzchni, linki, napisy na przyciskach |
| Elementy UI i granice | 3,0:1 | 4,5:1 | Obramowania (border) oddzielające komponenty od tła i powierzchni |
Orientacyjnie: kontrast 4,5:1 wystarcza zwykłemu tekstowi, 3:1 dużemu tekstowi (od ok. 18 pt / 14 pt pogrubionego) i elementom interfejsu, a 7:1 to poziom AAA dla zwykłego tekstu.
| Klucz | Motyw | Charakter |
|---|---|---|
| custom | Własny (bez automatycznych zmian) | Wpisujesz wszystkie 8 kolorów ręcznie — narzędzie niczego nie podmienia |
| modern-saas | Nowoczesny SaaS | Paleta domyślnego przykładu narzędzia (jasne tło, niebieski primary) |
| warm-sunset | Ciepły zachód słońca | Ciepła paleta pod strony lifestyle, eventy, gastronomię |
| deep-ocean | Głęboki ocean | Głębokie barwy pod serwisy techniczne i panele |
| forest | Las | Zielonkawa paleta pod tematy ekologiczne, zdrowotne, outdoor |
| mono | Minimalistyczny mono | Szarości z jednym akcentem pod portfolio i układy edytorskie |
Presety to kategorie punktu startu — kolory zawsze pochodzą z ośmiu pól formularza; przy wejściu na stronę przykładowy motyw „Nowoczesny SaaS” ładuje swoją paletę automatycznie.
Warto wiedzieć — kolory a dostępność
WCAG: 4,5:1 dla tekstu, 3:1 dla UI
Kryterium 1.4.3 wymaga kontrastu co najmniej 4,5:1 dla zwykłego tekstu (7:1 na poziomie AAA), a 1.4.11 — 3:1 dla granic komponentów i elementów interfejsu. Narzędzie liczy kontrast z relatywnej luminancji dokładnie wg wzoru WCAG, więc wyniki są porównywalne z audytami i narzędziami typu Lighthouse.
Ciemny motyw to osobna paleta
Wersji ciemnej nie da się „odwrócić” — to osobny schemat z własnym tłem, powierzchniami i tekstem. Przygotuj drugi zestaw ośmiu kolorów, wpisz go w pola formularza i przelicz kontrasty ponownie: kolory pomocnicze, które działały na jasnym tle, na ciemnym często wypadają poniżej 4,5:1. To samo dotyczy bordów, które na ciemnym tle wymagają większej jasności.
Kontrast to nie wszystko
Wysoki kontrast nie gwarantuje czytelności dla osób z zaburzeniami widzenia barw — czerwień i zieleń mogą wyglądać identycznie. Nigdy nie przekazuj informacji samym kolorem (błędy oznaczaj też ikoną lub tekstem), testuj schemat w skali szarości i pamiętaj, że światło słoneczne lub tani ekran zmieniają odbiór nawet dobrych par.
Zmienne CSS prosto do projektu
Eksport CSS zwraca blok :root ze zmiennymi nazwanymi po prefixie projektu (np. --acme-bg, --acme-primary), łącznie z automatycznie dobranymi kolorami tekstu na przyciskach (--on-primary, --on-secondary). Wklej go do arkusza stylów i używaj tych zmiennych zamiast surowych wartości HEX — zmiana schematu sprowadzi się wtedy do podmiany jednego bloku.
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćTester schematów kolorów UI – aplikuj paletę na makietę strony
Wybranie pięknej palety kolorów to jedno – zobaczenie jak wygląda na rzeczywistej stronie to drugie. Narzędzie nakłada twoją paletę (primary, secondary, background, text, accent) na responsywną makietę strony z nagłówkiem, kartami, formularzem i stopką.
Elementy makiety do testowania
Nawigacja: logo + menu + CTA button (primary color). Hero section: tło (primary/gradient) + nagłówek (text on background). Karty produktów/usług: card background + title + description + badge. Formularz: input border + focus ring + label + submit button. Footer: ciemne tło + linki + ikony społecznościowe.
Kolory w systemie projektowania
Primary: główny kolor marki (CTA, linki, akcenty). Secondary: uzupełniający (tagi, badges, highlights). Background: tło strony (white, near-white, dark mode). Surface: tło kart/elementów interfejsu. Text: główny tekst (heading, body). Muted: mniej ważny tekst (timestamp, caption). Error/Success/Warning: kolory stanów.
Kontrast i dostępność WCAG
WCAG 2.1 AA: tekst normalny ≥ 4.5:1, tekst duży ≥ 3:1, UI komponenty ≥ 3:1. WCAG AAA: tekst normalny ≥ 7:1. Narzędzie automatycznie sprawdza kontrast każdej pary kolor/tło i ostrzega o naruszeniach. Czerwony = fail AA. Żółty = pass AA, fail AAA. Zielony = pass AAA.
Dark mode testowanie
Toggle dark/light mode: narzędzie pokazuje obie wersje makiety. Dark mode: background odwrócone, surface ciemniejsze, text jaśniejszy. Palety CSS variables: --color-background: white; @media (prefers-color-scheme: dark) { --color-background: #1a1a1a; }. OKLCH ułatwia generowanie dark mode wariantów.
Jak tester przelicza paletę na makietę
Narzędzie działa w trzech krokach: normalizacja kolorów, obliczenie kontrastu i przypisanie tokenów do elementów makiety. Każdy kolor z palety jest najpierw sprowadzany do jednej przestrzeni, czyli sRGB, niezależnie od tego, czy wpiszesz go jako HEX, RGB, HSL czy OKLCH. Dzięki temu ta sama barwa zapisana dwiema notacjami daje identyczny wynik, a nie dwie różne oceny.
Kontrast liczony jest według wzoru WCAG. Najpierw każdy kanał barwy przechodzi linearyzację: jeśli wartość kanału podzielona przez 255 wynosi nie więcej niż 0,04045, dzielimy ją przez 12,92, w przeciwnym razie podnosimy wyrażenie ((c + 0,055) / 1,055) do potęgi 2,4. Z tak otrzymanych składowych powstaje luminancja względna L = 0,2126·R + 0,7152·G + 0,0722·B. Wynikowy kontrast dwóch kolorów to iloraz (L jaśniejszego + 0,05) / (L ciemniejszego + 0,05), więc zawsze mieści się w przedziale od 1:1 do 21:1.
Ostatni krok to mapowanie tokenów na makietę. Primary trafia na tło przycisku CTA i akcenty, Secondary na badge, Background na tło sekcji, Surface na karty i pola formularza, Text oraz Muted na typografię, a kolory stanów na komunikaty walidacji. Makieta zbudowana jest na zmiennych CSS, dlatego podmiana jednego tokenu odświeża jednocześnie wszystkie elementy, które go używają. Każda para typu kolor treści kontra kolor tła trafia na listę kontrolną i dostaje ocenę zgodną z progami AA i AAA.
Przykład krok po kroku: paleta jasna przeniesiona do dark mode
- Punkt wyjścia: masz sprawdzoną paletę jasnego motywu — białe tło strony, czarny tekst, primary jako kolor przycisków. Włączasz w testerze podgląd trybu ciemnego.
- Podmieniasz Background na #1a1a1a, a Surface, czyli tło kart, na wartość nieco jaśniejszą od tła strony, żeby karty nie zlewały się z podłożem.
- Dla tekstu ustawiasz biel #ffffff i sprawdzasz parę text/background. Luminancja względna #1a1a1a wynosi około 0,0103, a biel ma 1,0, więc kontrast to (1,0 + 0,05) / (0,0103 + 0,05) ≈ 17,4:1. Taki wynik przechodzi AA i AAA dla tekstu normalnego, bo próg AAA to 7:1.
- Ten sam biały tekst zostaje na przycisku CTA, którego tłem jest primary. Tester liczy tę parę osobno i tu pojawia się problem: biel na jasnym primary często spada poniżej 4,5:1, mimo że na ciemnym tle wypadała wzorowo. Kontrast zawsze dotyczy konkretnej pary, nigdy pojedynczego koloru.
- Poprawiasz przycisk: albo ciemniejszy wariant primary, albo ciemny tekst na jasnym przycisku. Sprawdzasz dodatkowo focus ring i obramowania pól formularza, gdzie próg wynosi 3:1, bo to elementy interfejsu, a nie tekst.
- Na koniec porównujesz obie wersje makiety obok siebie — ten sam układ, inny zestaw tokenów — i wychwytujesz elementy, które w trybie ciemnym straciły czytelność.
Progi kontrastu dla poszczególnych elementów makiety
| Element makiety | Testowana para kolorów | Minimalny kontrast |
|---|---|---|
| Duży nagłówek hero | text na tle primary lub gradiencie | 3:1 (AA dla tekstu dużego) |
| Tekst akapitu i nagłówki sekcji | text na background | 4,5:1 (AA), 7:1 (AAA) |
| Etykieta i wartość w polu formularza | text na surface | 4,5:1 |
| Obramowanie inputu i focus ring | primary lub akcent na surface | 3:1 (komponent UI) |
| Tekst na przycisku CTA | text na primary | 4,5:1 |
| Badge i tagi | text na secondary | 4,5:1 |
| Muted: podpisy, znaczniki czasu | muted na background | 4,5:1 |
| Linki i ikony w stopce | kolor linku na ciemnym tle | 4,5:1 dla tekstu, 3:1 dla ikon |
Jak korzystać z testera, żeby wyłapać realne problemy
- Zacznij od tła, nie od akcentu — ustaw najpierw Background i Surface, bo od nich zależy kontrast wszystkich tekstów. Kolor marki dopasowujesz później, już w kontekście konkretnego podłoża.
- Testuj pary, nie pojedyncze kolory — ta sama barwa może być poprawna na karcie i nieczytelna na przycisku. Przechodź przez makietę element po elemencie i sprawdzaj każdą kombinację treści z tłem.
- Nie pomijaj stanów interaktywnych — hover, focus, disabled oraz komunikaty error, success i warning to miejsca, w których paleta najczęściej się rozjeżdża. Focus ring musi być widoczny na tle karty i przycisku jednocześnie.
- Traktuj dark mode jako drugi, pełny zestaw tokenów — odwrócenie tła i tekstu to za mało. Osobno ustawiasz Surface, obramowania, muted i kolory stanów, bo ciemne podłoże zmienia odbiór nasycenia.
- Liczba to próg, nie gwarancja — wynik powyżej 4,5:1 nie czyni cienkiego, małego tekstu automatycznie czytelnym. Zestaw go z rozmiarem i grubością pisma, a przy tekstach pomocniczych zostaw sobie margines zapasu.
Czego tester nie sprawdzi
- Gradienty i przezroczystość — przy tle gradientowym oceniany jest jeden reprezentatywny kolor, więc kontrast w skrajnych punktach przejścia może różnić się od pokazanego wyniku. Podobnie jest z kolorami z kanałem alfa nakładanymi na siebie.
- Tekst na zdjęciu lub wideo — makieta korzysta z kolorów zastępczych, nie analizuje fotografii w tle. Jeśli docelowo napis leży na obrazie, wynik z testera dotyczy tylko sytuacji, w której tło jest jednolite.
- Font, grubość i rozmiar pisma — sam kontrast pozostaje ten sam niezależnie od kroju, ale czytelność już nie. Cienki krój przy progu 4,5:1 wypada w praktyce słabiej niż pogrubiony, a antyaliasing dodatkowo zmienia odbiór krawędzi liter.
- Warunki po stronie użytkownika — jasność i temperatura ekranu, systemowy tryb nocny, filtry światła niebieskiego oraz oświetlenie w pomieszczeniu wpływają na to, jak paleta jest postrzegana. Test daje policzalny punkt odniesienia, ale nie zastępuje sprawdzenia na docelowych urządzeniach.
Najczęstsze pytania
Jak wybrać dobry primary color dla marki?
Analiza branży: niebieski (tech, finanse, zaufanie), zielony (ekologia, zdrowie), czerwony (energia, pilność, gastronomia), fioletowy (luksus, kreatywność). Badanie: Elliot (2010) pokazało wpływ kolorów na zachowanie. Ale: rozpoznawalność marki ważniejsza niż "właściwy" kolor branżowy.
Ile kolorów powinna mieć paleta strony?
Zasada 60-30-10: 60% dominant (tło), 30% secondary (elementy), 10% accent (CTA). Minimalna paleta: primary, secondary/accent, background, text. Pełny design system: primary (5 odcieni), neutral (9 odcieni), semantic (error, success, warning, info). Zbyt wiele kolorów = chaotyczne UI.
Jak testować palety dla trybu ciemnego?
Nie odwracaj kolorów 1:1. Background: bardzo ciemny (nie czysto czarny #000 – lepszy #121212 lub #1E1E1E). Surface: nieco jaśniejszy niż bg. Text: nie czysto biały (lepszy #E5E5E5). Primary: często potrzebny jaśniejszy wariant. Saturation: lekko zmniejszona w dark mode.
Jak wyeksportować paletę do Figma/Tailwind?
Figma: skopiuj HEX do Color Styles lub Variables. Tailwind: w tailwind.config.js extend.colors: { brand: "#FF5733" }. CSS variables: :root { --color-primary: #FF5733; }. Style Dictionary (Amazon): JSON → tokens dla wielu platform jednocześnie (CSS, iOS, Android).
Jakie narzędzia do budowania palet są najlepsze?
Coolors.co: generator losowych palet. Paletton: koła harmonii. Realtime Colors: testowanie na żywo na makiecie. Adobe Color: koła barw + trend palets. Dopple: palety z fotografii. Huemint: AI palety dla brandingu. To narzędzie: testowanie finalnej palety na makiecie HTML.
Jak sprawdzić kontrast kolorów na stronie?
Wpisz kolory palety do testera i obejrzyj makietę — narzędzie liczy kontrast dla każdej pary kolor treści i tło, a wynik oznacza zgodnie z progami WCAG. Nie musisz wyliczać luminancji ręcznie.
Czy kontrast 4,5:1 wystarczy?
Dla zwykłego tekstu to minimum na poziomie AA, dla tekstu dużego wystarczy 3:1, a elementy interfejsu, takie jak obramowania i focus ring, też wymagają 3:1. Poziom AAA podnosi próg dla tekstu normalnego do 7:1.
Dlaczego biały tekst na kolorze marki wypada źle?
Bo kontrast liczy się zawsze dla pary kolorów, a nie dla pojedynczej barwy. Jasny primary z białym napisem rzadko osiąga 4,5:1, więc przycisk zwykle wymaga ciemniejszego wariantu tła albo ciemnego tekstu.
Jak testować tryb ciemny palety?
Włącz podgląd dark mode i sprawdź oba zestawy tokenów na tej samej makiecie. Odwrócenie tła i tekstu nie wystarczy — osobno ustaw Surface, obramowania, muted oraz kolory stanów.
Jakie kolory wybrać na komunikaty błędów i sukcesu?
Kolory stanów muszą spełniać te same progi co reszta interfejsu: tekst komunikatu co najmniej 4,5:1 na swoim tle, a sama ikona lub obramowanie 3:1. Nie opieraj przekazu wyłącznie na barwie, dodaj też tekst lub ikonę.
Powiązane narzędzia: sprawdzanie kontrastu kolorów, generator triadycznych schematów i blender kolorów HEX.