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.