Is the RGB to HEX converter free?
Yes. It is completely free to use, with no signup, no account, and no paywall.
Do I need to install anything?
No. It runs in any modern browser on desktop or mobile, with nothing to download and nothing to configure.
Does it stay local?
Yes. All the color math runs entirely in your browser, and nothing is sent to a server.
What happens if I enter a value above 255?
It is clamped to 255, silently, which produces FF for that channel. Negative values are clamped to 0. This mirrors what a browser does with an out-of-range rgb() value, so it is the correct behaviour, but it does mean a channel computed by some arithmetic that overflowed will quietly become a valid colour rather than raising an error. If a converted colour is unexpectedly saturated in one channel, check whether the input was out of range.
Does uppercase or lowercase hex matter?
Not to CSS, which treats hex colours as case-insensitive, so #FF6600 and #ff6600 are the same colour and no browser distinguishes them. It matters only for consistency: most stylesheets and most linters settle on lowercase, and mixing the two in one file makes diffs noisier than they need to be. The output here is uppercase, so lowercase it if that is your project's convention.
Why are there two rgb() syntaxes in CSS now?
The comma-separated form, rgb(255, 0, 0), is the original and works everywhere. The newer space-separated form, rgb(255 0 0 / 50%), was introduced as part of CSS Color Level 4 to make the colour functions consistent with each other and to fold the alpha channel into rgb() rather than needing a separate rgba(). Both are valid and both will remain so. The space-separated form is what the modern functions such as color-mix() and relative colour syntax are built around.
Should I store colours as hex or as RGB?
It depends on what you do with them. Hex is compact and is what a designer will hand you, so it is the natural interchange format. RGB triples are better if you are going to compute with the colour, because interpolating, comparing, or adjusting a colour means parsing the hex back into numbers anyway. If your system does any colour maths at all, storing the numbers saves you a parse on every operation.
Is the conversion done locally?
Yes. It is three numbers converted to hexadecimal in your browser, with no network request of any kind.