Regex for Hex Color Codes
Regex that matches CSS hex colors like #fff and #1a2b3c. Try valid and invalid values and learn how to extend it for alpha channels.
Part of the free Regex Tester. Runs in your browser — nothing is uploaded.
Regex for Hex Color Codes
CSS hex colors are a hash followed by 3 or 6 hexadecimal digits. The pattern uses a repeated group to allow both lengths and is case-insensitive in practice.
Worked example: Valid and invalid hex colors
Pattern /^#(?:[0-9a-fA-F]{3}){1,2}$/ — test strings
^#(?:[0-9a-fA-F]{3}){1,2}$
#fff
#1A2b3C
#12345
123456
#ggggggResult for each line
✓ match #fff ✓ match #1A2b3C ✗ no match #12345 ✗ no match 123456 ✗ no match #gggggg
Practical tip
For 4- and 8-digit hex colors with an alpha channel, use ^#(?:[0-9a-f]{3,4}){1,2}$ with the i flag.
How to use this Regex Tester
- 1Use the live tool above — it runs entirely in your browser and never uploads your data.
- 2Paste the sample from the worked example, or use your own input.
- 3Copy the result, then adapt the same steps in your editor, script, or pipeline.
Regex for Hex Color Codes FAQs
How do I allow the alpha channel?
Allow 4 or 8 digits: ^#(?:[0-9a-f]{3,4}){1,2}$ with the i flag matches #rgb, #rgba, #rrggbb and #rrggbbaa.
Is the leading # required?
In CSS, yes. Make it optional with #? if your inputs may omit it, then normalize before use.
More Regex Tester pages
- Regex for Email ValidationA practical regex for email validation with test cases. Try the pattern against valid and invalid addresses and learn why perfect email regex does not exist.
- Regex for Phone NumbersTest a regex for phone numbers that accepts common US and international formats such as +1 555-123-4567. Try your own examples live.
- Regex for URL ValidationTest a regex that matches http and https URLs. Check it against valid and invalid links and learn when to use the URL constructor instead.
- Regex for an IPv4 AddressA tested regex for IPv4 addresses that limits each octet to 0–255. Try it on valid and invalid IPs such as 192.168.1.1 and 256.1.1.1.
- Regex for a YYYY-MM-DD DateRegex to match dates in YYYY-MM-DD format, restricting months to 01–12 and days to 01–31. Test it against valid and invalid dates.
- Regex for Password StrengthRegex that requires lowercase, uppercase, a digit and at least 8 characters, using lookaheads. Test passwords live and see why length matters most.
- Regex for Username ValidationA username regex allowing letters, numbers and underscores with 3–16 characters. Test valid and invalid names and adapt the rules to your app.
- Regex to Extract Numbers From a StringExtract all numbers from text with the global regex \d+. See the matches, then extend the pattern for decimals and negative numbers.
- Regex for US ZIP CodesRegex that matches US ZIP codes in 5-digit and ZIP+4 formats. Test valid and invalid values like 90210 and 90210-1234.