rgba-to-hex-colors
v2.0.0
Published
RGBA Color converter to Hex color strings
Downloads
43
Readme
✨ Features
- 🔁 Two-way —
RGB/RGBA → HEXandHEX → RGBA - 🎨 Every hex form —
#RGB,#RGBA,#RRGGBB,#RRGGBBAA - 🫥 Alpha-aware — transparency is preserved in both directions
- 🪶 Zero runtime dependencies — nothing ships but the source
- ✅ Battle-tested — full test suite, validates ranges and bad input
- 📦 Tiny — a single small module
📦 Installation
npm install rgba-to-hex-colors
# or
yarn add rgba-to-hex-colors
# or
pnpm add rgba-to-hex-colors🚀 Usage
import { rgbToHex, hexToRgb } from 'rgba-to-hex-colors';
rgbToHex('rgb(255, 255, 255)'); // '#FFFFFF'
rgbToHex('rgba(255, 255, 255, 0.5)'); // '#FFFFFF80'
hexToRgb('#FFFFFF'); // 'rgba(255,255,255,1)'
hexToRgb('#FFFFFF80'); // 'rgba(255,255,255,0.502)'📖 API
rgbToHex(color)
Convert an rgb()/rgba() string to a HEX string. Returns #RRGGBB, or
#RRGGBBAA when an alpha below 1 is present. Throws on invalid input or
channels outside 0–255.
| Param | Type | Description |
| ------- | -------- | --------------------- |
| color | string | RGB/RGBA color string |
Returns string — the HEX color (uppercased).
hexToRgb(color, transparency = 1)
Convert a HEX string to an rgba() string. When the HEX carries its own alpha
(#RGBA / #RRGGBBAA) that value wins; otherwise transparency is used.
Throws on an invalid hex or a transparency outside 0–1.
| Param | Type | Default | Description |
| -------------- | -------- | ------- | -------------------------------------------------- |
| color | string | — | HEX color (#RGB, #RGBA, #RRGGBB, #RRGGBBAA) |
| transparency | number | 1 | Alpha (0–1) used when the HEX has no alpha |
Returns string — the rgba(...) color string.
🎨 Conversion reference
| Input | Method | Output |
| -------------------------- | ----------- | ------------------------- |
| rgb(255, 255, 255) | rgbToHex | #FFFFFF |
| rgba(255, 255, 255, 0.5) | rgbToHex | #FFFFFF80 |
| rgb(1, 2, 3) | rgbToHex | #010203 |
| #FFF | hexToRgb | rgba(255,255,255,1) |
| #FFFFFF | hexToRgb | rgba(255,255,255,1) |
| #FFFFFF80 | hexToRgb | rgba(255,255,255,0.502) |
🛠️ Development
git clone https://github.com/paintoxic/rgba-to-hex-colors.git
cd rgba-to-hex-colors
npm install
npm test # run the suite with coverage
npm run lint # eslint
npm run style # prettier check🤝 Contributing
Issues and PRs are welcome. Please make sure npm test, npm run lint and
npm run style pass before opening a pull request.
