Skip to main content

RGBA to HEX

Paste an rgba() color, an 8-digit hex or an Android 0xAARRGGBB value. You get every other form, with the alpha stored as a hex byte, and can lay the color over your own photo or video.

%

On a checkerboard

Alpha byte 128 (0x80) = 50.2% opaque.

Flattened on white and on black

#FFAB99 and #802C1A: the opaque colors you get once it is drawn.

CSS 8-digit hex (#RRGGBBAA)#FF573380
CSS rgba()rgba(255, 87, 51, 0.5)
CSS rgb() with slashrgb(255 87 51 / 50%)
Android (#AARRGGBB)#80FF5733
FlutterColor(0x80FF5733)
Opaque hex, no alpha#FF5733
Stays in your browser, nothing is uploaded.

Reading an 8-digit hex

Eight hex digits are four bytes, and the only question is which one is the alpha. CSS Color Module Level 4 puts it last: in #0000FFCC the CC (204, 80%) is the opacity of pure blue. The Android Color class reads #AARRGGBB, so on Android the same digits #0000FFCC would be a fully transparent color. Flutter writes Color(0xAARRGGBB), alpha first as well.

The tool reads a value starting with 0x as alpha-first, since that is how Android and Flutter write it in code. For a plain 8-digit hex it uses the CSS order and offers a switch.

Hex transparency table

The alpha byte for each opacity: 100% is FF, fully opaque; 0% is 00, fully transparent. In CSS it goes after the color (#FF573380), on Android before it (#80FF5733). Each value is the opacity times 255, rounded to the nearest whole number, so 50% is 128 (80), not 127.5.

OpacityHex byteDecimal
100%FF255
95%F2242
90%E6230
85%D9217
80%CC204
75%BF191
70%B3179
65%A6166
60%99153
55%8C140
50%80128
45%73115
40%66102
35%5989
30%4D77
25%4064
20%3351
15%2638
10%1A26
5%0D13
0%000
Every percentage from 100 to 0
OpacityHex byteDecimal
100%FF255
99%FC252
98%FA250
97%F7247
96%F5245
95%F2242
94%F0240
93%ED237
92%EB235
91%E8232
90%E6230
89%E3227
88%E0224
87%DE222
86%DB219
85%D9217
84%D6214
83%D4212
82%D1209
81%CF207
80%CC204
79%C9201
78%C7199
77%C4196
76%C2194
75%BF191
74%BD189
73%BA186
72%B8184
71%B5181
70%B3179
69%B0176
68%AD173
67%AB171
66%A8168
65%A6166
64%A3163
63%A1161
62%9E158
61%9C156
60%99153
59%96150
58%94148
57%91145
56%8F143
55%8C140
54%8A138
53%87135
52%85133
51%82130
50%80128
49%7D125
48%7A122
47%78120
46%75117
45%73115
44%70112
43%6E110
42%6B107
41%69105
40%66102
39%6399
38%6197
37%5E94
36%5C92
35%5989
34%5787
33%5484
32%5282
31%4F79
30%4D77
29%4A74
28%4771
27%4569
26%4266
25%4064
24%3D61
23%3B59
22%3856
21%3654
20%3351
19%3048
18%2E46
17%2B43
16%2941
15%2638
14%2436
13%2133
12%1F31
11%1C28
10%1A26
9%1723
8%1420
7%1218
6%0F15
5%0D13
4%0A10
3%088
2%055
1%033
0%000

RGBA to HEX: questions

How do I convert rgba to hex?
Write red, green and blue as two hex digits each (255 → FF, 87 → 57, 51 → 33), then turn the alpha into a byte: multiply by 255 and round. rgba(255, 87, 51, 0.5) gives 0.5 × 255 = 127.5 → 128 → 80, so the hex is #FF573380.
Can a hex color have transparency?
Yes. CSS accepts 8-digit hex (#RRGGBBAA) and 4-digit hex (#RGBA), with the alpha last. All current browsers support it (Chrome since 62, Firefox since 49, Safari since 10). A browser without that support does not drop just the alpha: it ignores the whole CSS declaration, so the color is not applied. Older tools may reject an 8-digit hex.
What is #AARRGGBB?
The order Android and Flutter use: alpha first, then red, green and blue. #80FF5733 on Android is #FF573380 in CSS. Paste a value starting with 0x and the tool reads it this way; a plain 8-digit hex is read in CSS order, with a switch under the field for Android order.
Why does my rgba come back as 0.502 instead of 0.5?
A hex byte has 256 steps, from 0 to 255. 0.5 is stored as 128, and 128 / 255 = 0.50196. Going back to rgba() gives that stored value; the difference is not visible.
Can I see the transparent color over a photo or video?
Yes. Under the codes, press “Preview this color on your photo or video” and pick a picture or a clip: the color is laid over it at the opacity you set, like a tint or a color filter, and you can download the result. A photo is saved as JPG if you gave a JPG and as PNG otherwise; a video is saved as MP4 or WebM, whichever your browser can record. A video is re-recorded in real time in your browser, with sound where the browser allows it. The file is not uploaded anywhere.
How do I get a plain 6-digit hex without transparency?
Either drop the last two digits, which gives the color at full opacity, or flatten it onto its background. The tool shows both: the opaque hex, and the color drawn on white and on black.

Sources

  1. W3C. CSS Color Module Level 4, §5.2 «The RGB hexadecimal notations»: in 8-digit hex the last pair is the alpha, 00 fully transparent, ff fully opaque (Candidate Recommendation Draft, 3 November 2026). Link
  2. Android Developers. android.graphics.Color: color ints are ARGB (alpha in the highest 8 bits); parseColor accepts #RRGGBB and #AARRGGBB. Link
  3. Flutter API. Color constructor: bits 24–31 are the alpha, written Color(0xAARRGGBB). Link