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.