Konwerter RGB na HEX to małe narzędzie, które zamienia trzy liczby całkowite kanałów 0–255 (`rgb(255 87 51)`) na 6-znakowy kod HEX kodujący ten sam kolor (`#FF5733`). RGB i HEX 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 — w parze z kierunkiem odwrotnym, ta dokładna transformacja działa miliony razy dziennie w każdej wtyczce Figmy, preprocesorze CSS, buildzie tokenów designu i UI selektora kolorów w sieci. RGB to format adresowany kanałami, jakiego natywnie używają API sprzętowe, wywołania rysowania na canvasie, manipulacja buforem obrazu, atrybuty kolorów OpenGL i większość SDK graficznych — trzy oddzielne liczby całkowite 0–255, które mapują się bezpośrednio na czerwone, zielone i niebieskie subpiksele LCD lub luminofory CRT. HEX to zwięzły format „kopiuj-wklej”, jakiego Figma, Sketch, Photoshop i każdy eksportowany z guidelines marki PDF oczekują na wyjściu — 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. Konwersja między nimi jest mechaniczna: skonwertuj liczbę całkowitą każdego kanału na 2-cyfrową parę w systemie szesnastkowym i połącz z wiodącym `#`. 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 HEX i bezpłatnie.
**Sam format HEX zasługuje na bliższe spojrzenie.** Standardowy CSS HEX występuje w czterech legalnych kształtach. Kanoniczna 6-cyfrowa forma `#RRGGBB` pakuje trzy 8-bitowe kanały w 6 cyfr szesnastkowych — łącznie 16 777 216 kolorów (256³). Skrót 3-cyfrowy `#RGB` to forma skompresowana, w której każda cyfra jest powielana, aby utworzyć 6-cyfrowy odpowiednik: `#F73` rozwija się do `#FF7733`, *nie* `#000F73` (to jedna z najczęściej mylonych zasad w składni CSS color). Forma 8-cyfrowa z kanałem alfa `#RRGGBBAA` dołącza 2-cyfrową parę alfa na skali 0–`FF`, gdzie `00` to pełna przezroczystość, a `FF` to pełne krycie. Skrót 4-cyfrowy z kanałem alfa `#RGBA` odzwierciedla skrót 3-cyfrowy przez powielenie każdej cyfry, włącznie z cyfrą alfa. HEX jest niezależny od wielkości liter — `#ff5733` i `#FF5733` parsują się identycznie, chociaż większość guidelines marki wybiera konwencję wielkości liter i się jej trzyma. Wybór systemu szesnastkowego jest wygodny, ponieważ jedna cyfra HEX = nibble = 4 bity, dwie cyfry = bajt = 0–255, więc pojedyncza 2-cyfrowa para mapuje się czysto na jeden 8-bitowy kanał bez marnowania bitów na dopełnianie.
Matematyka konwersji działa czysto w obu kierunkach. **RGB na HEX**: 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. Dla RGB z kanałem alfa (`rgb(R G B / A)` albo `rgba(R, G, B, A)`) pomnóż liczbę zmiennoprzecinkową alfa 0–1 przez 255, zaokrąglij do najbliższej liczby całkowitej, zakoduj w HEX jako 4. parę i wyemituj formę 8-cyfrową. **HEX na RGB** to operacja odwrotna: sparsuj 6-cyfrowy HEX `#RRGGBB` jako trzy 2-cyfrowe liczby w systemie szesnastkowym przez `parseInt(hex.slice(1, 3), 16)` itd. 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 RGB → HEX → RGB daje oryginalne liczby całkowite dosłownie, bez dryfu zmiennoprzecinkowego.
**Dlaczego HEX zamiast RGB w CSS?** Trzy powody. HEX jest krótszy — `#FF5733` to 7 znaków w porównaniu z `rgb(255, 87, 51)` mającym 16 znaków, znacząca różnica, gdy upakowuje się to w niestandardowej właściwości CSS albo obiekcie konfiguracji Tailwinda. HEX nie ma błędów z białymi znakami — minifikatory CSS, serializatory JSON i narzędzia wiersza poleceń obsługują 7-znakowy ciąg czysto, bez martwienia się o dopasowanie nawiasów czy escapowanie przecinków. A HEX to format, którym natywnie posługuje się cały ekosystem narzędzi projektowych — panel kolorów Figmy, próbki w Sketchu, selektor kolorów w Photoshopie, każdy eksportowany z guidelines marki PDF, każde wskazanie koloru w shotcie z Dribbble — wszystkie eksportują HEX domyślnie. Ścieżka „kopiuj-wklej” od projektanta do developera ma kształt HEX-a, dlatego konwersja RGB → HEX jest tak częsta: developerzy otrzymują RGB z narzędzia nieprojektowego (wywołanie canvasu, kroplomierz na zrzucie ekranu, czujnik sprzętowy) i muszą zamienić je na formę HEX, której oczekuje reszta ich stosu.
Przepływ RGB → HEX 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 RGB i HEX. Jednokierunkowe odgałęzienia celują w konkretne intencje wyszukiwania w Google: odwrotny konwerter HEX na RGB dla kierunku przeciwnego (gdy bierzesz HEX z Figmy i wyciągasz z niego liczby całkowite 0–255), 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 wartości RGB nigdy nie są wysyłane, nigdy logowane, a w trakcie pisania nie wysyłane są żadne zapytania sieciowe. Sprawdź w DevTools.