Skip to content

Konwerter HEX na RGB

Konwertuj dowolny kod HEX na RGB w przeglądarce — obsługa 3-, 6- i 8-cyfrowego HEX z kanałem alfa. Bezpłatny, natychmiastowy, bez rejestracji, kolory nigdy nie opuszczają strony.

Bez śledzenia Działa w przeglądarce Bezpłatne
Cała konwersja kolorów odbywa się lokalnie w przeglądarce. Żadne dane nie są wysyłane na serwer.
Gamut: sRGB Display P3 Rec2020
Kontrast względem:
AA AA-Lg AAA AAA-Lg · APCA Lc
Symulacja ślepoty barw (8 typów)
Protanopia (ślepota na czerwień)
Deuteranopia (ślepota na zieleń)
Tritanopia (ślepota na niebieski)
Achromatopsja (całkowita)
Protanomalia (osłabiona czerwień)
Deuteranomalia (osłabiona zieleń)
Tritanomalia (osłabiony niebieski)
Achromatomalia (częściowa)
Jaśniejsze odcienie / Ciemniejsze odcienie / Tony / Harmonie

Jaśniejsze odcienie

Ciemniejsze odcienie

Tony

Harmonie

Skopiuj jako kod
Najczęstsze kolory — słownik
Zrecenzowane pod kątem zgodności z CSS Color 4, wsparcia kształtów HEX 3/4/6/8-cyfrowych, poprawności dekodowania par alfa oraz dokładności bitowej w obie strony między HEX a RGB w zakresie 0–255. — Zespół inżynierów Go Tools · May 27, 2026

Czym jest konwerter HEX na RGB?

Konwerter HEX na RGB to małe narzędzie, które zamienia kod koloru HEX (`#FF5733`) na trzy liczby całkowite kanałów, które on reprezentuje (`rgb(255 87 51)`). HEX i RGB to dwa formaty, wokół których budowano każdy webowy arkusz stylów, każde narzędzie projektowe i każdy potok pikseli obrazu od końca lat 90., a konwersja między nimi to najczęstsza operacja w narzędziach do kolorów. HEX to zwięzły format „kopiuj-wklej”, który Figma, Sketch, Photoshop i każda eksportowana z guidelines marki PDF-ka domyślnie wypisują — 6-znakowy ciąg w systemie szesnastkowym, który wygodnie mieści się w niestandardowej właściwości CSS i czyta się na pierwszy rzut oka, gdy oczy nauczą się wzorów. RGB to format adresowany kanałami, jakiego oczekują API sprzętowe, wywołania rysowania na canvasie, manipulacja buforem obrazu, atrybuty kolorów OpenGL oraz większość SDK graficznych — trzy oddzielne liczby całkowite 0–255 (albo liczby zmiennoprzecinkowe znormalizowane 0–1), które mapują się bezpośrednio na czerwone, zielone i niebieskie subpiksele LCD lub luminofory CRT. Konwersja między nimi jest mechaniczna: podziel HEX na trzy 2-cyfrowe pary i odczytaj każdą parę jako liczbę w systemie szesnastkowym. To narzędzie wykonuje konwersję na żywo w trakcie pisania, bez przycisku „Konwertuj”, który trzeba klikać, i pokazuje też każdy inny popularny format koloru (HSL, OKLCH, OKLAB, HSV, HWB, CMYK plus 148 nazwanych kolorów CSS) obok wyjścia RGB i bezpłatnie.

**Sam format RGB zasługuje na bliższe spojrzenie.** Standardowy 24-bitowy sRGB koduje każdy kanał jako 8-bitową liczbę całkowitą bez znaku z zakresu 0–255 — 256 wartości na kanał, łącznie 16 777 216 kolorów (256³). Standardem odniesienia jest IEC 61966-2-1, specyfikacja sRGB z 1996 zakotwiczona w podstawowych luminoforach monitorów CRT z tamtych czasów. CSS udostępnia RGB przez funkcję `rgb()` w trzech wariantach składniowych. Pierwotna forma z CSS 1 używa przecinków jako separatorów: `rgb(255, 87, 51)`. CSS Color 4 (W3C Candidate Recommendation od 2022) dodał nowoczesną formę z rozdziałem spacjami: `rgb(255 87 51)`, z opcjonalnym kanałem alfa po ukośniku: `rgb(255 87 51 / 0.5)`. Obie formy są wymienne i są dostępne w każdej aktualnie aktualizowanej przeglądarce. RGB akceptuje też kanały procentowe: `rgb(100% 33% 20%)` jest równoważne `rgb(255 87 51)`, czasem preferowane w arkuszach pisanych ręcznie ze względu na czytelność. Sam kanał alfa ma osobną funkcję `rgba()` do wsparcia starszych przeglądarek — `rgba(255, 87, 51, 0.5)` to kanoniczna forma, która działa wszędzie, aż do IE 9. CSS Color 4 dodał także składnię `color(srgb 1 0.341 0.2)` do jawnego adresowania sRGB oraz równoległe funkcje `color(display-p3 ...)` i `color(rec2020 ...)` dla wartości o szerokim gamucie, których HEX nie potrafi zakodować.

Matematyka konwersji działa czysto w obu kierunkach. **HEX na RGB**: sparsuj 6-cyfrowy HEX `#RRGGBB` jako trzy 2-cyfrowe liczby w systemie szesnastkowym przez `parseInt(hex.slice(1, 3), 16)`, `parseInt(hex.slice(3, 5), 16)`, `parseInt(hex.slice(5, 7), 16)`. Dla skrótu 3-cyfrowego `#RGB` rozwiń każdą cyfrę przez jej powielenie (`#F73` → `#FF7733`) przed parsowaniem — to *nie* jest dopełnianie zerami z lewej. Dla 8-cyfrowego HEX z kanałem alfa `#RRGGBBAA` sparsuj końcową parę tak samo i podziel przez 255, aby uzyskać liczbę zmiennoprzecinkową alfa 0–1. Dla 4-cyfrowego skrótu z kanałem alfa `#RGBA` rozwiń najpierw każdą cyfrę (`#F738` → `#FF773388`). **RGB na HEX** to operacja odwrotna: dla każdego kanału wywołaj `value.toString(16).padStart(2, '0')`, aby otrzymać 2-cyfrową parę HEX (`padStart` ma znaczenie — bez niego wartość kanału 5 serializowałaby się jako `'5'` zamiast `'05'`, dając nieprawidłowy HEX), a następnie połącz. Oba kierunki są dokładne bitowo: 16² = 256, co dokładnie odpowiada zakresowi 0–255 bajta, który zajmuje każdy kanał, więc konwersja w obie strony HEX → RGB → HEX daje oryginalne wejście dosłownie, bez dryfu zmiennoprzecinkowego.

**Dlaczego HEX zamiast RGB?** HEX jest krótszy, natywny dla narzędzi projektowych i jest formatem, który oko z czasem uczy się rozpoznawać — większość frontendowców identyfikuje `#3b82f6` jako Tailwind blue-500 od razu. RGB to jawne adresowanie kanałów, łatwiejsze do obliczeń w JavaScript i jako jedyne z dwóch akceptuje czysto kanał alfa i procenty. Oba formaty współistnieją, ponieważ rozwiązują różne problemy. Webowe arkusze stylów i guidelines marki skłaniają się do HEX, ponieważ dominuje koszt „kopiuj-wklej”. Wywołania rysowania na canvasie, przetwarzanie obrazu, API sprzętowych pasków LED i każdy kod, który wykonuje arytmetykę na kanałach, skłaniają się do RGB, ponieważ indeksowanie krotki bije slicowanie ciągu znaków. Przejście między nimi zachodzi dziesiątki razy w typowym projekcie webowym — wklej HEX z Figmy, skonwertuj na liczby całkowite RGB pod wywołanie `ctx.fillStyle = ...`, skonwertuj z powrotem do HEX pod definicję zmiennej CSS.

Przepływ HEX → RGB tego narzędzia to jeden z pięciu kierunków rodziny, które wszystkie współdzielą ten sam podstawowy zunifikowany konwerter kolorów. Dedykowany zunifikowany konwerter kolorów to hub — pokazuje wszystkie 9 formatów jednocześnie edytowalnych i jest właściwym narzędziem, gdy twój przepływ wymaga więcej niż tylko HEX i RGB. Jednokierunkowe odgałęzienia celują w konkretne intencje wyszukiwania w Google: odwrotny konwerter RGB na HEX dla kierunku przeciwnego, konwerter HEX na HSL dla starszej kognitywno-projektowej przestrzeni, konwerter HEX na OKLCH dla nowoczesnych percepcyjnie jednorodnych systemów designu (Tailwind v4 i shadcn obecnie domyślnie używają OKLCH), oraz konwerter HEX na CMYK dla przybliżeń pod przygotowanie druku. Wszystkie pięć odgałęzień i hub współdzielą ten sam silnik parsowania i tę samą matematykę konwersji, więc wyniki są gwarantowane identyczne w całej rodzinie. Każda konwersja działa lokalnie w przeglądarce — twoje kody HEX nigdy nie są wysyłane, nigdy logowane, a w trakcie pisania nie wysyłane są żadne zapytania sieciowe. Sprawdź w DevTools.

// Parse any hex shape (3/4/6/8-digit) into an RGB tuple [r, g, b, a]
// All channels in 0-255 range; alpha in 0-1.
function parseHex(input) {
  let h = input.trim().replace(/^#/, '');
  // Expand 3-digit and 4-digit shorthand by duplicating each digit
  if (h.length === 3 || h.length === 4) {
    h = h.split('').map(c => c + c).join('');
  }
  if (!/^[0-9a-fA-F]+$/.test(h) || (h.length !== 6 && h.length !== 8)) {
    throw new Error(`Invalid hex: ${input}`);
  }
  const r = parseInt(h.slice(0, 2), 16);
  const g = parseInt(h.slice(2, 4), 16);
  const b = parseInt(h.slice(4, 6), 16);
  const a = h.length === 8 ? parseInt(h.slice(6, 8), 16) / 255 : 1;
  return [r, g, b, a];
}

console.log(parseHex('#FF5733'));   // [255, 87, 51, 1]
console.log(parseHex('#F73'));       // [255, 119, 51, 1]
console.log(parseHex('#FF573380'));  // [255, 87, 51, 0.5019607843137255]

Kluczowe funkcje

Wszystkie pięć kształtów HEX parsowanych identycznie

3-cyfrowy `#F73`, 4-cyfrowy z kanałem alfa `#F738`, 6-cyfrowy `#FF5733`, 8-cyfrowy z kanałem alfa `#FF5733CC`, plus wariant bez `#` dla każdego (`F73`, `FF5733` itd.). Parser normalizuje je wszystkie do tej samej wewnętrznej krotki RGB przed wyświetleniem, więc możesz wkleić dowolny kształt używany w źródle bez ręcznego rozwijania skrótu. Wielkość liter jest też normalizowana — `#ff5733` i `#FF5733` dają identyczne wyjście.

Wyjście RGB w nowoczesnej składni z rozdziałem spacjami

Pole RGB pokazuje wartość w nowoczesnej formie CSS Color 4: `rgb(255 87 51)` dla kolorów nieprzezroczystych, `rgb(255 87 51 / 0.5)` dla kolorów z kanałem alfa. Oba kształty działają w każdej aktualnie aktualizowanej przeglądarce (Chrome 65+, Safari 13+, Firefox 52+). Starsza forma z przecinkami `rgb(255, 87, 51)` jest oddalona o jedną mechaniczną zamianę, jeśli tego wymaga twój cel; nowoczesna składnia jest preferowana w nowym kodzie, bo pasuje do innych funkcyjnych składni z CSS Color 4.

Dokładność bitowa, bez dryfu zmiennoprzecinkowego

HEX → RGB to matematyka liczb całkowitych: `parseInt(hex, 16)` zwraca dokładną wartość 0–255 bez udziału liczb zmiennoprzecinkowych. Kierunek odwrotny (`.toString(16).padStart(2, '0')`) jest równie dokładny. Konwersja w obie strony HEX → RGB → HEX → RGB → HEX daje oryginalne wejście dosłownie, bez końca. Wewnętrzne źródło prawdy w OKLCH oznacza, że nawet dłuższy łańcuch HEX → RGB → HSL → OKLAB → HEX pozostaje stabilny bitowo, czego starsze konwertery trasujące przez HSL nie gwarantują.

Kanał alfa dekodowany czysto

8- i 4-cyfrowy HEX z kanałem alfa (`#RRGGBBAA` i `#RGBA`) są parsowane poprawnie. Końcowa para mapuje się na liczbę zmiennoprzecinkową alfa 0–1: `00` → 0, `80` → 0,502, `FF` → 1. Wyjście domyślnie używa ukośnikowej składni CSS Color 4 (`rgb(255 87 51 / 0.5)`); starsza forma `rgba(255, 87, 51, 0.5)` jest oddalona o jedną zamianę. Przydatne przy migracji tokenów designu, gdzie wartości alfa mogły być pochowane w 8-cyfrowych kodach HEX.

Osiem innych formatów widocznych jednocześnie

Ten sam HEX, który wklejasz, napędza też HSL, HSV, HWB, OKLCH, OKLAB, CMYK oraz najbliższy nazwany kolor CSS — wszystko widoczne na pierwszy rzut oka na tej samej stronie. Nigdy nie jesteś zamknięty tylko w HEX → RGB. Jeśli ktoś z zespołu potrzebuje trójki OKLCH na token Tailwind v4, najbliższego nazwanego koloru do dokumentacji albo przybliżenia CMYK do wyceny druku, wartości są już tam ze swoimi przyciskami Kopiuj.

Wbudowany kontrast WCAG + APCA

Przepuść HEX, a wiersz kontrastu od razu oceni go względem bieli i czerni za pomocą WCAG 2.1 (próg regulacyjny: 4,5:1 dla tekstu treści, 7:1 dla AAA) oraz APCA Lc (proponowany następca w WCAG 3: cel `|Lc| ≥ 75` dla tekstu treści). Przydatne, gdy właśnie skonwertowałeś HEX marki na RGB i chcesz zweryfikować, czy faktycznie czyta się jako kolor tekstu treści, zanim go wdrożysz.

Skopiuj jako CSS / Tailwind v4 / SwiftUI / Compose / Flutter

Pod selektorem sekcja Skopiuj jako kod zamienia bieżący kolor w gotowe do wklejenia fragmenty dla pięciu platform: niestandardowa właściwość CSS (`--color-brand: rgb(255 87 51)`), token `@theme` Tailwind v4, literał SwiftUI `Color(red:green:blue:)`, stała Jetpack Compose `Color(0xFFFF5733)`, Flutter `Color(0xFFFF5733)`. Dokładna składnia, której oczekuje każda platforma, gotowa do wrzucenia w katalog assetów iOS, plik motywu Androida albo `ThemeData` Fluttera.

100% w przeglądarce — bez wysyłki, bez śledzenia

Całe parsowanie HEX, konwersja RGB, ocena kontrastu i generowanie palet działa lokalnie w przeglądarce. Twoje kody HEX nigdy nie są przesyłane, nigdy logowane na żadnym serwerze, nigdy analizowane. Zero zapytań sieciowych w trakcie pisania — sprawdź w DevTools. Bezpieczne dla niezapowiedzianych palet marki, wewnętrznych tokenów designu, szkiców makiet pod NDA i każdej innej poufnej pracy z kolorem.

Hash adresu URL z udostępnianiem dokładnego koloru

Bieżący kolor koduje się w hashu adresu URL jako `#hex=ff5733` automatycznie przy każdej zmianie. Skopiuj URL, wklej do wątku na Slacku albo do zgłoszenia na GitHubie, a każdy, kto go otworzy, ląduje na tym samym HEX-ie z tym samym wynikiem RGB. Hash żyje wyłącznie w pasku adresu i nigdy nie jest przesyłany na serwer (przeglądarki nie dołączają fragmentów URL do zapytań HTTP), więc nawet udostępniony link nie wycieka koloru do żadnej strony trzeciej.

Alternatywy dla konwertera HEX na RGB

RapidTables Hex to RGB

narzędzie webowe

Domyślny wynik Google dla „hex to rgb” — pojedynczy jednokierunkowy formularz z HEX-em na wejściu i RGB na wyjściu, bez innych formatów widocznych. Przydatne do jednorazowych wyszukiwań, gdy ktoś przychodzi z wyszukiwarki. Brakuje OKLCH, sprawdzania kontrastu, wykrywania gamutu, obsługi kanału alfa i widoku wielu formatów jednocześnie. To narzędzie wygrywa w każdym aspekcie, z wyjątkiem najprostszego przypadku pojedynczej konwersji.

ColorHexa

narzędzie webowe

Długo działające strony per-kolor z głębokimi metadanymi SEO: konwersje, palety, harmonie, gradienty dla każdego pytanego HEX-a. Interfejs jest przestarzały (początek lat 2010), brak wsparcia OKLCH, brak kontrastu APCA, brak obsługi szerokiego gamutu. Mocne na potrzeby odkrywania konkretnego HEX-a przez Google; słabsze do aktywnych przepływów konwersji, gdzie pisanie w zunifikowanym UX pól jest szybsze.

Kalkulator HEX W3Schools

narzędzie webowe

Przyjazny początkującym przełącznik HEX/RGB/HSL na stronie nastawionej na nauczanie, wszechobecny w wynikach wyszukiwania. Brak OKLCH, brak obsługi kanału alfa poza rgba, brak zaawansowanych funkcji. Przydatny jako referencja obok treści edukacyjnych W3Schools. To narzędzie wygrywa w każdym innym aspekcie: więcej formatów, matematyka percepcyjna, funkcje gamut + kontrast + CVD, nowoczesny eksport kodu dla Tailwind v4 / SwiftUI / Compose / Flutter.

Selektor kolorów w DevTools przeglądarki

wbudowana funkcja przeglądarki

Chrome, Firefox i Safari DevTools dostarczają selektor kolorów, który konwertuje HEX na RGB inline, gdy klikniesz próbkę koloru w panelu CSS. Bezpłatny, bez instalacji, zawsze dostępny. Brakuje OKLCH, brakuje udostępnialnych adresów URL, brakuje eksportu kodu dla platform spoza weba (SwiftUI, Compose). Sięgaj po DevTools, gdy i tak debugujesz CSS; sięgaj po to narzędzie, gdy potrzebujesz wyjścia cross-platform.

macOS Digital Color Meter

natywna aplikacja macOS

Dołączana do każdego Maca od czasów OS X — najedź na dowolny piksel i odczytaj wartości RGB / HEX / liniowe. Świetne do próbkowania kolorów pikseli z dowolnej aplikacji na ekranie. Nie konwertuje wklejonych wartości HEX; to próbnik ekranu, nie konwerter. Użyj przycisku EyeDropper w selektorze tego narzędzia (tylko przeglądarki Chromium) dla tej samej funkcji próbkowania ekranu wewnątrz przeglądarki.

ConvertingColors

narzędzie webowe

Strony per-kolor z metadanymi SEO obejmujące wiele przestrzeni (HEX, RGB, HSL, HSV, CMYK, XYZ, CIELAB). Brakuje nowoczesnego wsparcia OKLCH i UX edycji w zunifikowanych polach. Strony z automatycznie generowaną treścią dają wrażenie content-farmy, ale dane konwersji są poprawne. Dobre do grzebania w metadanych pojedynczego koloru przez Google; to narzędzie jest szybsze do aktywnych przepływów pracy.

Przykłady konwersji HEX na RGB

Wklej HEX ze zrzutu ekranu → krotka RGB

#FF5733

Wynik RGB: `rgb(255 87 51)`. Klasyczny przypadek — projektant wrzucił kolor marki do Figmy, zrobiłeś zrzut ekranu, kroplomierz dał ci HEX, a teraz potrzebujesz liczb całkowitych kanałów do wywołania rysowania na canvasie, paska LED w sprzęcie albo arytmetyki pikseli na buforze obrazu. Pokazana składnia CSS Color 4 z rozdziałem spacjami to forma nowoczesna; starsza forma z przecinkami `rgb(255, 87, 51)` ma identyczne znaczenie i jest wspierana w każdej przeglądarce od IE 3.

Konwersja HEX-a marki Tailwind na RGB do Photoshopa

#3b82f6

Wynik RGB: `rgb(59 130 246)`. Selektor Color w Adobe (w Photoshopie, Illustratorze i InDesignie) przyjmuje liczby całkowite RGB z zakresu 0–255 jako natywne wejście — wpisz 59 / 130 / 246 w trzy pola kanałów, a dopasujesz dokładnie `blue-500` z Tailwinda. Przydatne, gdy projektant musi przygotować makietę koloru webowego w aplikacji do układu pod druk albo gdy próbkujesz kolory marki do biblioteki próbek koloru na potrzeby edycji obrazów.

8-cyfrowy HEX z kanałem alfa → rgba

#FF573380

Wynik RGB: `rgb(255 87 51 / 0.5)`. Ostatnia para (`80`) dekoduje się jako `128/255 ≈ 0,502` i pojawia się jako kanał alfa przez ukośnikową składnię CSS Color 4. Równoważna starsza forma to `rgba(255, 87, 51, 0.5)`, która nadal jest wspierana wszędzie i której oczekują starsze preprocesory. 8-cyfrowy HEX wszedł natywnie do wszystkich aktualnie aktualizowanych przeglądarek w 2018 roku; wcześniej alfa musiała być wyrażana przez funkcję `rgba()`.

Rozwinięcie krótkiego 3-cyfrowego HEX

#F73

Wynik RGB: `rgb(255 119 51)`. Specyfikacja CSS definiuje 3-cyfrowy HEX jako skrót, w którym każda cyfra jest powielana, aby utworzyć 6-cyfrowy odpowiednik: `#F73` rozwija się do `#FF7733`, więc R = `FF` = 255, G = `77` = 119, B = `33` = 51. To **nie** jest dopełnianie zerami z lewej — `#F73` to **nie** `#000F73`. Wielu początkujących myli się w tym miejscu; widoczne na żywo rozwijanie w narzędziu czyni tę zasadę oczywistą.

Najczęstsze konwersje HEX → RGB

Tabela referencyjna 10 najczęściej konwertowanych kodów HEX i ich odpowiedników RGB — czyste podstawowe, czyste wtórne oraz dwa rzeczywiste kolory marki z palety Tailwind.

Czarny

#000000 rgb(0 0 0)

Czysta czerń. Wszystkie trzy kanały na zerze — brak emitowanego światła. Krotka RGB (0, 0, 0).

#000000 rgb(0 0 0)

Czysta czerń na ekranie rzadko jest właściwym wyborem projektowym — wypróbuj `#111` albo jasność OKLCH 0,1–0,15 dla łagodniejszego tekstu treści.

Potrzebujesz zamiast tego OKLCH? Wypróbuj dedykowany konwerter HEX na OKLCH dla percepcyjnie jednorodnego wyjścia.

Biały

#FFFFFF rgb(255 255 255)

Czysta biel. Wszystkie trzy kanały na maksimum (255). Najjaśniejszy kolor w sRGB.

#FFFFFF rgb(255 255 255)

Czyste białe tła mogą powodować zmęczenie oczu w ciemnym otoczeniu — rozważ `#fafafa` albo OKLCH 0,98 jako cieplejszą alternatywę.

Potrzebujesz zamiast tego OKLCH? Wypróbuj dedykowany konwerter HEX na OKLCH dla percepcyjnie jednorodnego wyjścia.

Czerwony

#FF0000 rgb(255 0 0)

Czysta czerwień. Kanał R na maksimum, G i B na zerze. Pierwsza z trzech podstawowych barw sRGB.

#FF0000 rgb(255 0 0)

Czysta czerwień jest mocno nasycona i rzadko pasuje do palety marki — większość „czerwieni” marki leży bliżej #DC2626 lub #E53935.

Potrzebujesz zamiast tego OKLCH? Wypróbuj dedykowany konwerter HEX na OKLCH dla percepcyjnie jednorodnego wyjścia.

Zielony

#00FF00 rgb(0 255 0)

Czysta zieleń. Kanał G na maksimum, R i B na zerze. Nazwany kolor CSS `lime` (nie `green`, który ma #008000).

#00FF00 rgb(0 255 0)

Słowo kluczowe CSS `green` rozwiązuje się do #008000 (półjasny), nie do #00FF00 — częste źródło nieporozumień. Używaj `lime` dla czystej zieleni RGB.

Potrzebujesz zamiast tego OKLCH? Wypróbuj dedykowany konwerter HEX na OKLCH dla percepcyjnie jednorodnego wyjścia.

Niebieski

#0000FF rgb(0 0 255)

Czysty niebieski. Kanał B na maksimum, R i G na zerze. Trzecia podstawowa barwa sRGB.

#0000FF rgb(0 0 255)

Czysty niebieski na białym tle nie zalicza kontrastu WCAG AA (3,7:1) — rozważ ciemniejsze błękity marki, takie jak #1D4ED8 (Tailwind blue-700) dla tekstu treści.

Potrzebujesz zamiast tego OKLCH? Wypróbuj dedykowany konwerter HEX na OKLCH dla percepcyjnie jednorodnego wyjścia.

Cyjan

#00FFFF rgb(0 255 255)

Cyjan — zielony i niebieski na maksimum, czerwony na zerze. Jedna z trzech wtórnych barw sRGB. Nazwany kolor CSS `cyan` (lub równoważnie `aqua`).

#00FFFF rgb(0 255 255)

Cyan i aqua to dokładne synonimy w CSS — oba rozwiązują się do #00FFFF. Wybierz jeden i trzymaj się konsekwentnie w całym arkuszu stylów.

Potrzebujesz zamiast tego OKLCH? Wypróbuj dedykowany konwerter HEX na OKLCH dla percepcyjnie jednorodnego wyjścia.

Magenta

#FF00FF rgb(255 0 255)

Magenta — czerwony i niebieski na maksimum, zielony na zerze. Nazwany kolor CSS `magenta` (lub równoważnie `fuchsia`).

#FF00FF rgb(255 0 255)

Magenta i fuchsia to dokładne synonimy w CSS — oba rozwiązują się do #FF00FF. Częste w wzorcach testowych i nakładkach narzędzi deweloperskich.

Potrzebujesz zamiast tego OKLCH? Wypróbuj dedykowany konwerter HEX na OKLCH dla percepcyjnie jednorodnego wyjścia.

Żółty

#FFFF00 rgb(255 255 0)

Żółty — czerwony i zielony na maksimum, niebieski na zerze. Najjaśniejsza z trzech wtórnych barw sRGB pod względem postrzeganej luminancji.

#FFFF00 rgb(255 255 0)

Żółty to kolor o najwyższej luminancji niebędący bielą na ekranie — żółty tekst na białym tle jest niemal niewidoczny, choć HEX wygląda dobrze na papierze.

Potrzebujesz zamiast tego OKLCH? Wypróbuj dedykowany konwerter HEX na OKLCH dla percepcyjnie jednorodnego wyjścia.

Tailwind blue-500

#3b82f6 rgb(59 130 246)

Domyślny kolor marki blue-500 z Tailwind CSS — kanoniczny „webowy niebieski” połowy lat 2020. Używany w niezliczonych dashboardach, stronach marketingowych i narzędziach administracyjnych.

#3b82f6 rgb(59 130 246)

Tailwind v4 redefiniuje blue-500 w OKLCH (`oklch(0.629 0.193 263.4)`) dla percepcyjnie jednorodnych ramp — HEX pozostaje ten sam jako fallback.

Potrzebujesz zamiast tego OKLCH? Wypróbuj dedykowany konwerter HEX na OKLCH dla percepcyjnie jednorodnego wyjścia.

Tailwind rose-500

#f43f5e rgb(244 63 94)

Domyślny rose-500 z Tailwind CSS — mocno nasycony różowo-czerwony, używany powszechnie dla przycisków akcentowych, stanów alertu i kontrastu marki.

#f43f5e rgb(244 63 94)

Rose-500 zalicza WCAG AA (4,6:1) względem bieli dla dużego tekstu, ale nie zalicza dla tekstu treści — paruj z rose-600 (#e11d48) lub ciemniejszym dla tekstu treści na bieli.

Potrzebujesz zamiast tego OKLCH? Wypróbuj dedykowany konwerter HEX na OKLCH dla percepcyjnie jednorodnego wyjścia.

Jak korzystać z konwertera HEX na RGB

  1. 1

    Wklej kod HEX w pole HEX

    Wrzuć dowolną wartość HEX do pola HEX — z `#` na początku albo bez, w 3-cyfrowym skrócie (`#F73`), 6-cyfrowej formie pełnej (`#FF5733`), 4-cyfrowym skrócie z kanałem alfa (`#F738`) albo 8-cyfrowej formie pełnej z kanałem alfa (`#FF5733CC`). Narzędzie normalizuje wszystkie pięć kształtów wejściowych do tego samego kanonicznego koloru wewnętrznie. Wielkość liter nie ma znaczenia (`#ff5733` i `#FF5733` parsują się identycznie). Nieprawidłowe znaki lub zła liczba cyfr powodują cichy błąd inline; prawidłowy HEX aktualizuje każde inne pole formatu w czasie rzeczywistym.

  2. 2

    Odczytaj krotkę RGB z pola RGB

    Pole RGB poniżej pola HEX pokazuje odpowiadającą wartość `rgb()` w nowoczesnej składni z rozdziałem spacjami z CSS Color 4: `rgb(255 87 51)` dla koloru nieprzezroczystego, `rgb(255 87 51 / 0.5)` dla koloru z kanałem alfa. Każdy kanał to liczba całkowita 0–255; alfa jest znormalizowana do 0–1. Wartości są dokładne bitowo — `parseInt('FF', 16)` zwraca 255 bez arytmetyki zmiennoprzecinkowej, więc konwersja w obie strony do HEX daje oryginalne wejście dosłownie.

  3. 3

    Kliknij Kopiuj, aby pobrać ciąg RGB

    Każda karta formatu ma po prawej stronie przycisk Kopiuj. Jedno kliknięcie i wartość ląduje w schowku — etykieta przycisku miga na chwilę „Skopiowano!”, więc wiesz, że się udało. Skopiowany ciąg to kanoniczna składnia CSS Color 4 (`rgb(255 87 51)`); jeśli twój cel wymaga starszej formy z przecinkami, konwersja jest mechaniczna (zamień spacje na `, `). Dla wyjścia pod konkretną platformę (SwiftUI, Compose, Flutter, Tailwind v4) użyj sekcji Skopiuj jako kod pod selektorem.

  4. 4

    Również widoczne: HSL, OKLCH, OKLAB, CMYK, nazwany kolor

    Ten sam HEX, który wklejasz, rozświetla też pozostałe pola formatów — HSL dla starszego CSS, OKLCH i OKLAB dla percepcyjnie jednorodnych systemów designu, HSV i HWB dla projektantów korzystających z selektorów kolorów, CMYK do oszacowań druku oraz najbliższy nazwany kolor CSS do dokumentacji i tekstów. Nigdy nie jesteś zamknięty w przepływie tylko HEX → RGB; jeśli potrzebujesz także trójki OKLCH do wklejenia w blok `@theme` Tailwind v4, jest ona od razu w polu OKLCH z własnym przyciskiem Kopiuj.

  5. 5

    Użyj selektora do wizualnych poprawek

    Pod siatką formatów znajduje się kwadrat SL + suwak barwy + suwak kanału alfa do eksploracji wizualnej. Przeciągnij dowolny element sterujący, a wszystkie pola tekstowe zaktualizują się w czasie rzeczywistym, włącznie z HEX-em i RGB, od których zacząłeś. W przeglądarkach opartych na Chromium (Chrome, Edge, Brave) przycisk EyeDropper aktywuje natywne API `EyeDropper` do próbkowania dowolnego piksela na ekranie, także poza oknem przeglądarki — przydatne, gdy chcesz pobrać HEX z interfejsu innej aplikacji bez wcześniejszego robienia zrzutu ekranu.

Częste błędy HEX / RGB

Traktowanie 3-cyfrowego HEX jako dopełnianego zerami z lewej

Skrót 3-cyfrowy `#RGB` rozwija się przez *powielanie każdej cyfry*, a nie przez dopełnianie zerami z lewej. `#F73` staje się `#FF7733` (jasnopomarańczowy), nie `#000F73` (ciemnoniebieski). To jeden z najczęściej mylonych zakątków składni CSS color; początkujący często zakładają, że skrót to jakieś dopełnianie zerami i kończą z rażąco błędnymi kolorami. Ta sama zasada obowiązuje dla 4-cyfrowego skrótu z kanałem alfa `#RGBA` — każda cyfra powiela się, aby utworzyć 8-cyfrowy odpowiednik.

✗ Niepoprawne
Assume #F73 left-pads to #000F73:
expected: dark blue rgb(0, 15, 115)
actual:   bright orange rgb(255, 119, 51)
✓ Poprawne
3-digit shorthand duplicates each digit:
#F73 → #FF7733 → rgb(255, 119, 51)
Verified by the tool's live expansion as you type.

Zapomnienie o padStart przy serializacji RGB do HEX

Konwersja RGB z powrotem na HEX wymaga, aby `toString(16)` każdego kanału było dopełnione zerami z lewej do 2 cyfr. Bez `padStart(2, '0')` jednocyfrowe wartości kanałów dają nieprawidłowy HEX: `rgb(5, 87, 51)` serializowałoby się jako `#55733` (5 znaków) zamiast `#055733` (6 znaków). Wiele doraźnych konwerterów pomija dopełnienie i daje uszkodzone wyjście dla każdego kanału poniżej 16. Standardowy idiom to `value.toString(16).padStart(2, '0')` dla każdego z R, G, B.

✗ Niepoprawne
Skip padStart:
[5, 87, 51].map(v => v.toString(16)).join('') → '55733'
Produces invalid 5-character hex.
✓ Poprawne
Use padStart(2, '0'):
[5, 87, 51].map(v => v.toString(16).padStart(2, '0')).join('') → '055733'
Valid 6-character hex; works correctly for all channel values 0-255.

Mylenie kolejności kanału alfa w 8-cyfrowym HEX

8-cyfrowy HEX w CSS to `#RRGGBBAA` — alfa jest *końcową* parą. Niektóre biblioteki kolorów (zwłaszcza starsza Androidowa `Color.parseColor()`) używają odwrotnej kolejności `#AARRGGBB` z alfą jako *początkową* parą, co jest niekompatybilne z CSS-owym HEX. Webowy HEX `#FF573380` (pomarańcz z 50% alfą) interpretowany jako `#AARRGGBB` staje się alfa=255, R=87, G=51, B=128 — ciemny cyjan z pełnym kryciem. Zawsze weryfikuj kolejność kanału alfa platformy docelowej przed konwersją 8-cyfrowego HEX w obie strony.

✗ Niepoprawne
Paste CSS 8-digit hex into legacy Android Color.parseColor():
#FF573380 interpreted as #AARRGGBB
→ wrong color and wrong alpha entirely.
✓ Poprawne
Use the target platform's documented format:
for Android Compose: Color(0xFFFF5733) with alpha as first byte
for CSS: #FF573380 with alpha as last byte
Don't cross-paste between the two without re-ordering.

Uśrednianie kanałów RGB wprost do mieszania

Kanały RGB są zakodowane gammą, nie liniowo. Uśrednianie dwóch wartości RGB daje percepcyjnie błędny punkt środkowy. `(255, 0, 0)` uśrednione z `(0, 255, 0)` daje `(127, 127, 0)`, mętną ciemną oliwkę, a nie jasny żółty punkt środkowy, jakiego można by się spodziewać po zmieszaniu czerwonego i zielonego światła. Aby prawidłowo wymieszać, najpierw zdekoduj do linear-RGB przez funkcję transferu sRGB (CSS Color 4 §11.2), uśrednij w przestrzeni liniowej, potem zakoduj ponownie. Albo pracuj w OKLAB / OKLCH, gdzie odległość percepcyjna jest jednorodna.

✗ Niepoprawne
Average gamma-encoded RGB directly:
(rgb(255,0,0) + rgb(0,255,0)) / 2 = rgb(128, 128, 0)
Looks like dark olive, not bright yellow.
✓ Poprawne
Average in linear-RGB:
decode → linear-RGB → average → re-encode → rgb(188, 188, 0)
Visibly bright yellow, matching what physical light mixing produces.

Kto korzysta z HEX na RGB

Frontendowcy konwertujący HEX z Figmy na wywołania RGB na canvasie
Figma eksportuje HEX, ale `CanvasRenderingContext2D.fillStyle` akceptuje zarówno HEX, jak i `rgb()` — a gdy wykonujesz arytmetykę na kanałach (gradienty, mieszanie, manipulacja obrazem), posiadanie liczb całkowitych kanałów bezpośrednio jest szybsze niż ponowne parsowanie HEX-a za każdym razem. Wklej HEX raz, skopiuj krotkę `rgb(255 87 51)`, wrzuć w wywołanie canvasu. Zero kodu parsującego HEX po twojej stronie.
Projektanci tłumaczący webowy HEX na RGB w Photoshopie / Illustratorze
Selektor Color w Adobe przyjmuje liczby całkowite 0–255 w trzech polach kanałów jako natywne wejście. Wklej webowy HEX do tego narzędzia, odczytaj liczby R / G / B, wpisz je w Photoshopie. Dopasowuje oryginalny kolor webowy dokładnie, bez objazdu przez zrzut ekranu i kroplomierz. Przydatne, gdy projektant musi zrobić makietę koloru webowego w aplikacji Adobe do układu pod druk.
Devowie gier ładujący HEX marki do API RGB w Unity / Unreal
`Color` w Unity i `FLinearColor` w Unreal oba przyjmują znormalizowane liczby zmiennoprzecinkowe 0–1. Wklej HEX marki, odczytaj liczby całkowite 0–255, podziel przez 255 (albo użyj wyjścia znormalizowanych floatów narzędzia przez Skopiuj jako kod). Konwersja jest mechaniczna, ale podatna na pomyłki, gdy robi się ją ręcznie — wpisanie `(255, 87, 51)` w konstruktor, który oczekiwał `(1.0, 0.341, 0.2)`, daje przyciętą do bieli barwę i zdezorientowanego tweeta. Narzędzie pokazuje obie formy.
Devowie sprzętu programujący adresowalne paski LED
WS2812, APA102 i inne adresowalne paski LED RGB przyjmują liczby całkowite kanałów 0–255 na każdą diodę. Wklej HEX marki dla wiszącego na ścianie wyświetlacza produktu, odczytaj trójkę RGB, wrzuć w tablicę kolorów kontrolera. Przydatne, gdy zespół marketingu podaje HEX, a inżynier firmware'u potrzebuje wartości kanałów do wywołania `pixels.setPixelColor(i, r, g, b)`.
Inżynierowie dostępności audytujący czytelność kolorów marki
Sprawdzanie kontrastu WCAG 2.1 wewnętrznie przyjmuje wejście RGB. Wklej HEX marki, otrzymaj odpowiadające RGB plus współczynnik WCAG względem bieli i czerni plus wynik APCA Lc na jednym ekranie. Jeśli kolor marki nie zalicza progu 4,5:1 dla tekstu treści, percepcyjnie jednorodne pole OKLCH obok ułatwia podbicie L, aż kontrast się oczyści, bez utraty tożsamości marki.
Projektanci osadzający szablony e-maili z RGB inline
Niektóre klienty pocztowe (Outlook na Windowsie, starszy Gmail mobile) niespójnie parsują HEX w atrybutach HTML — `` może renderować się jako czarny na niektórych platformach. Niezawodny fallback to równoważna forma RGB `rgb(255, 87, 51)` inline. Wklej HEX marki, skopiuj ciąg RGB w starszej składni z przecinkami (ręczna zamiana z nowoczesnej formy ze spacjami), wrzuć w atrybut `style` szablonu e-mail.
Programiści dokumentujący tokeny marki w obu formatach
Dokumentacja tokenów designu często pokazuje ten sam kolor w obu formatach: HEX dla bloku kodu CSS, RGB do adnotacji w prozie („czerwień marki to `#FF5733`, czyli RGB 255 / 87 / 51”). Posiadanie obu obok siebie pozwala autorowi dokumentacji skopiować każdy w jednym przebiegu zamiast uruchamiać dwa narzędzia. Hash adresu URL do udostępnienia pozwala też czytelnikom kliknąć w dokładny omawiany kolor.
Inżynierowie QA weryfikujący snapshoty kolorów pikseli
Testy regresji wizualnej często sprawdzają konkretne wartości RGB względem wyrenderowanych pikseli (`expect(pixel.r).toBe(255)`). Gdy specyfikacja podana jest jako HEX („przyciski muszą renderować się jako `#FF5733`”), inżynier QA potrzebuje odpowiadających liczb całkowitych RGB, aby napisać asercję. Wklej HEX, odczytaj R / G / B, wrzuć w test. Dokładność bitowa konwersji oznacza, że test nie będzie się sypał z powodu różnic w dryfie zmiennoprzecinkowym.

Matematyka i parsowanie HEX na RGB

parseInt(hex, 16) to jednolinijkowa implementacja
Cała konwersja HEX na RGB mieści się w jednym wyrażeniu na kanał: `parseInt(hex.slice(1, 3), 16)` dla R, `parseInt(hex.slice(3, 5), 16)` dla G, `parseInt(hex.slice(5, 7), 16)` dla B. `parseInt` w JavaScript z podstawą 16 wczytuje ciąg szesnastkowy na liczbę całkowitą dziesiętną z zakresu 0–255 bez udziału liczb zmiennoprzecinkowych. Kierunek odwrotny (`value.toString(16).padStart(2, '0')`) jest równie jednolinijkowy — `padStart(2, '0')` to łatwy do zapomnienia szczegół, który łapie jednocyfrowe wartości kanałów typu 5 → `'05'` zamiast `'5'`.
Rozwijanie skrótu: powielanie cyfry, nie dopełnianie zerami
Specyfikacja CSS definiuje skrót 3-cyfrowy jako `#RGB` rozwijający się do `#RRGGBB` przez powielenie każdej cyfry. `#F73` → `#FF7733`, *nie* `#000F73`. Ta sama zasada obowiązuje dla 4-cyfrowego skrótu z kanałem alfa `#RGBA` → `#RRGGBBAA`. To jeden z najczęściej mylonych zakątków składni CSS color — początkujący często zakładają, że `#F73` dopełnia się zerami z lewej do `#000F73`, co dałoby zupełnie inny kolor (odbarwiony ciemnoniebieski zamiast zamierzonej jasnopomarańczowej). Widoczne na żywo rozwijanie w narzędziu czyni tę zasadę oczywistą.
8-cyfrowy kanał alfa: końcowa para podzielona przez 255
8-cyfrowy HEX `#RRGGBBAA` koduje alfę jako 2-cyfrową parę HEX po trójce RGB, parsowaną identycznie i następnie dzieloną przez 255, aby dać liczbę zmiennoprzecinkową 0–1. `#FF573380` parsuje się do alfa = `0x80 / 255 = 128 / 255 = 0,5019607843137255`. Specyfikacja CSS Color 4 używa 4 miejsc precyzji po przecinku dla wyjścia (`/ 0.502`); narzędzie stosuje tę samą konwencję. 8-cyfrowy HEX wszedł do wszystkich aktualnie aktualizowanych przeglądarek w 2018 roku (Chrome 62, Firefox 49, Safari 9.1, Edge 79). Fallback sprzed 2018 to `rgba()`.
Wyjście RGB: CSS Color 4 z rozdziałem spacjami domyślnie
Narzędzie domyślnie emituje `rgb(255 87 51)` (nowoczesne, ze spacjami) zamiast starszej formy `rgb(255, 87, 51)` (CSS 1, z przecinkami). Oba kształty są prawidłowe i wymienne w każdej aktualnie aktualizowanej przeglądarce od 2018 roku. Nowoczesna składnia pasuje do innych funkcyjnych notacji z CSS Color 4 (`hsl()`, `lab()`, `oklch()`, `color()`), które wszystkie używają rozdziału spacjami i ukośnika dla kanału alfa. Starsza forma z przecinkami jest oddalona o jedną mechaniczną zamianę, gdy łańcuch narzędzi tego wymaga; rgba() pozostaje właściwym fallbackiem w kontekstach IE 9–11.
OKLCH jako wewnętrzne źródło prawdy dla stabilności w obie strony
Mimo że to odgałęzienie celuje konkretnie w HEX → RGB, współdzielony bazowy konwerter trzyma kanoniczny kolor jako trójkę OKLCH wewnętrznie. Oznacza to, że konwersja w obie strony HEX → RGB → HSL → OKLAB → CMYK → HEX odbywa się bez dryfu zmiennoprzecinkowego między krokami; starsze konwertery, które trasują przez HSL lub sRGB jako pivot, akumulują błąd zaokrąglenia przy każdej konwersji. Wybór OKLCH (zamiast OKLAB) zachowuje barwę jako stabilną oś, więc przeciąganie suwaka barwy nie przechodzi przypadkiem przez szarość. Zgodnie z pracą Björna Ottossona o OKLAB z 2020.
Kodowanie kanału: 8-bitowe bez znaku, sRGB z gammą
Każdy kanał RGB to 8-bitowa liczba całkowita bez znaku (0–255), zakodowana w przestrzeni barw sRGB zdefiniowanej w IEC 61966-2-1 (1996). Wartości są *gamma-encoded* — co oznacza, że relacja między wartością kanału a postrzeganą jasnością jest nieliniowa, zgodna z fragmentaryczną funkcją transferu sRGB (z grubsza wykładnik 2.4 z małym odcinkiem liniowym blisko zera). To ma znaczenie, gdy robisz matematykę kolorów: uśrednianie dwóch wartości RGB w ich postaci zakodowanej gammą daje błędny percepcyjny punkt środkowy. Aby prawidłowo wymieszać kolory, najpierw zdekoduj do linear-RGB (CSS Color 4 §11.2), potem uśrednij, potem zakoduj ponownie. Wewnętrzny model OKLCH narzędzia czyni to przezroczystym.

Najlepsze praktyki dla przepływów HEX / RGB

W nowym kodzie używaj nowoczesnej składni RGB z rozdziałem spacjami
`rgb(255 87 51)` (ze spacjami) i `rgb(255 87 51 / 0.5)` (ukośnik dla kanału alfa) z CSS Color 4 to kanoniczne składnie dla kodu wdrażanego w 2025 i dalej. Starsze formy z przecinkami `rgb(255, 87, 51)` i `rgba(255, 87, 51, 0.5)` są nadal wspierane wszędzie, ale stylistycznie są przestarzałe w CSS Color 4. Używaj nowoczesnej składni w nowych arkuszach stylów; trzymaj `rgba()` tylko w kontekstach fallback IE 9–11, gdzie naprawdę potrzebujesz starszego wsparcia.
Zweryfikuj wsparcie 8-cyfrowego HEX przed wdrożeniem kodów z kanałem alfa
8-cyfrowy HEX z kanałem alfa (`#FF573380`) wszedł do wszystkich aktualnie aktualizowanych przeglądarek w 2018 roku, ale starsze preprocesory CSS i niektóre starsze narzędzia projektowe po cichu obcinają parę alfa do 6-cyfrowego HEX. Skutek: kolor, którego spodziewałeś się jako 50% przezroczystego, renderuje się jako w pełni nieprzezroczysty. Przed wdrożeniem 8-cyfrowego HEX na produkcji zweryfikuj, że docelowy parser go obsługuje; dla starszych celów sięgnij po jawną składnię `rgba(255, 87, 51, 0.5)`, która jest wspierana od czasów IE 9.
Nie uśredniaj kanałów RGB wprost do matematyki kolorów
Kanały RGB są zakodowane gammą — uśrednianie dwóch wartości RGB daje błędny percepcyjny punkt środkowy. `(255, 0, 0)` uśrednione z `(0, 255, 0)` daje `(127, 127, 0)`, mętną ciemną oliwkę, a nie wizualnie jasny żółty punkt środkowy, jakiego można by się spodziewać. Aby prawidłowo wymieszać kolory, najpierw zdekoduj do linear-RGB (CSS Color 4 §11.2), uśrednij, a potem zakoduj ponownie. Albo, lepiej, pracuj w OKLAB lub OKLCH, gdzie odległość percepcyjna jest jednorodna — dokładnie to robią generatory palet systemów designu.
Preferuj HEX dla źródła tokenu designu, RGB dla sprzętu
Gdy piszesz specyfikację tokenu designu, preferuj HEX (lub OKLCH) jako kanoniczną formę — są zwięźlejsze i czysto mieszczą się w JSON lub YAML. Gdy konsumujący kod wykonuje arytmetykę na kanałach (wywołania canvasu, manipulacja obrazem, sterowniki sprzętowych LED, atrybuty kolorów OpenGL), forma liczb całkowitych RGB jest szybsza do konsumpcji. Oba formaty opisują ten sam kolor; wybór dotyczy wyłącznie tego, kto czyta i pisze, a nie poprawności. Widok jednoczesnych pól tego narzędzia czyni oba równie tanimi.
Dokumentuj kanał alfa jawnie w nazwach tokenów
Gdy token designu zawiera kanał alfa (np. nakładka 50% krycia), nie chowaj alfy w 8-cyfrowym HEX-ie typu `#000000CC` — podziel token na `--color-overlay-base: #000000` i `--color-overlay-alpha: 0.8` lub użyj jawnej formy RGBA. Chowanie alfy w HEX-ie czyni token nieczytelnym dla każdego, kto przegląda plik, i uniemożliwia poprawki alfy per token bez wcześniejszego parsowania HEX-a. Czystość systemu tokenów bije zwięzłość, gdy kosztem jest jedna dodatkowa zmienna.
Używaj hasha URL do udostępniania decyzji o kolorze na żywo
Każda zmiana koloru aktualizuje hash adresu URL jako `#hex=ff5733` automatycznie. Skopiuj URL do wątku na Slacku albo do zgłoszenia na GitHubie, a każdy, kto otworzy, ląduje na tym samym kolorze z tą samą krotką RGB. To bardziej niezawodne niż wklejanie ciągu HEX w czacie — odbiorcy czasem robią literówki przy ręcznym wpisywaniu wartości — i pozwala wątkowi design review odnieść się do dokładnego koloru zamiast do „pomarańczowego, o którym rozmawialiśmy we wtorek”. Hash nigdy nie jest przesyłany na serwer.

Najczęściej zadawane pytania

Jak skonwertować kod HEX na RGB?
Podziel 6-cyfrowy HEX na trzy 2-cyfrowe pary i odczytaj każdą parę jako liczbę w systemie szesnastkowym z zakresu 0–255. `#FF5733` staje się R=`FF`=255, G=`57`=87, B=`33`=51, co daje `rgb(255 87 51)`. Skrót 3-cyfrowy `#F73` rozwija się przez powielenie każdej cyfry do `#FF7733` przed podziałem. To narzędzie wykonuje konwersję na żywo w trakcie pisania — wklej dowolny HEX (z `#` lub bez, 3-, 6-, 4- lub 8-cyfrowy z kanałem alfa), a pole RGB zaktualizuje się natychmiast odpowiadającą wartością `rgb()`.
Czy HEX to to samo co RGB?
Kodują tę samą informację w innej notacji. Oba opisują kolor jako trzy kanały (czerwony, zielony, niebieski) na skali 0–255, zakotwiczone w przestrzeni barw sRGB. HEX pakuje trzy kanały w 6-znakowy ciąg w systemie szesnastkowym (`#FF5733`); funkcja `rgb()` wypisuje je dziesiętnie (`rgb(255 87 51)`). Konwersja w obie strony jest bezstratna — ten sam kolor przechodzi HEX → RGB → HEX bez dryfu. HEX jest krótszy dla zmiennych CSS; `rgb()` obsługuje kanał alfa przez `rgba()` oraz składnię procentową z CSS Color 4.
Jak czytać kod koloru HEX?
Kolor HEX ma 6 cyfr szesnastkowych po `#`, pogrupowanych jako **RR GG BB**. Każda para koduje jeden kanał od `00` (brak, 0 dziesiętnie) do `FF` (pełny, 255 dziesiętnie). `#FF0000` to czysta czerwień, `#00FF00` to czysta zieleń, `#0000FF` to czysty niebieski. 8-cyfrowy HEX (`#FF5733CC`) dodaje na końcu parę alfa — `CC` = 204/255 ≈ 80% krycia. 3-cyfrowy skrót `#F73` rozwija każdą cyfrę przez powielenie: `#F73` jest identyczny z `#FF7733`.
Jaki jest wzór konwersji HEX na RGB?
Dla każdej 2-cyfrowej pary HEX pomnóż pierwszą cyfrę przez 16 i dodaj drugą: `FF` = 15×16 + 15 = 255, `57` = 5×16 + 7 = 87, `33` = 3×16 + 3 = 51. W JavaScript: `parseInt('FF', 16)` zwraca 255 wprost. W CSS odwrotny kierunek jest wbudowany w parser — `rgb(255 87 51)` i `#FF5733` są wymienne wszędzie tam, gdzie akceptowany jest ``. Nie ma straty zaokrąglenia w żadnym kierunku: 16² = 256, co dokładnie odpowiada zakresowi 0–255 bajta, który zajmuje każdy kanał.
Dlaczego używać HEX zamiast RGB?
Trzy powody: jest krótszy (`#FF5733` vs `rgb(255, 87, 51)`), to format, który każde narzędzie projektowe (Figma, Sketch, Photoshop) eksportuje domyślnie, oraz to format, który frontendowcy uczą się rozpoznawać od razu — większość zidentyfikuje `#3b82f6` jako Tailwind blue-500 bez sprawdzania. Sięgaj po `rgb()` (lub nowoczesną składnię z rozdziałem spacjami `rgb(R G B / A)` z CSS Color 4), gdy potrzebny jest kanał alfa, gdy obliczasz kolor z wartości kanałów w JavaScript albo gdy jawna składnia procentowa poprawia czytelność arkusza stylów.
Czy kody HEX mogą zawierać kanał alfa?
Tak — użyj 8-cyfrowego HEX (`#RRGGBBAA`) albo 4-cyfrowego skrótu (`#RGBA`). Para alfa działa na tej samej skali 0–`FF`: `#FF573300` to pełna przezroczystość, `#FF5733FF` to pełne krycie, `#FF573380` to około 50%. 4- i 8-cyfrowy HEX z kanałem alfa wszedł natywnie do wszystkich aktualnie aktualizowanych przeglądarek w 2018 roku (Chrome 62, Firefox 49, Safari 9.1, Edge 79). Dla starszych parserów i starszych preprocesorów CSS, które po cichu obcinają parę alfa, sięgnij po `rgba(255, 87, 51, 0.5)`, które jest wspierane od czasów IE 9.
Ile kolorów może reprezentować HEX?
6-cyfrowy HEX reprezentuje dokładnie **16 777 216** kolorów — 256 wartości na kanał do sześcianu (256³). Z 8-cyfrowym HEX-em zawierającym kanał alfa adresowana przestrzeń to 256⁴ ≈ 4,3 miliarda, ale zawartość kolorystyczna nadal wynosi 16,7 mln; dodatkowy wymiar to krycie. Ludzkie oko odróżnia około 10 milionów kolorów, dlatego 24-bitowy sRGB od lat 90. nazywano „truecolor”. Nowoczesne wyświetlacze o szerokim gamucie (Display P3, Rec2020) obejmują większą część widma widzialnego, ale sam HEX jest ograniczony do sRGB — używaj OKLCH lub `color(display-p3 ...)`, aby adresować wartości w szerokim gamucie.
Jak skonwertować RGB na HEX?
Odwróć wzór: nie trzeba niczego dzielić, wystarczy skonwertować liczbę całkowitą każdego kanału na jej 2-cyfrową reprezentację w systemie szesnastkowym i połączyć. W JavaScript: `[255, 87, 51].map(v => v.toString(16).padStart(2, '0')).join('')` zwraca `'ff5733'`, potem dodaj `#` z przodu. `padStart(2, '0')` ma znaczenie — bez niego wartości jednocyfrowe, takie jak `5`, serializowałyby się jako `'5'` zamiast `'05'`, dając nieprawidłowy HEX. Dla odwrotnego kierunku w tej rodzinie narzędzi użyj dedykowanego konwertera RGB na HEX.

Powiązane narzędzia

Zobacz wszystkie narzędzia →