Convierte valores HSV a RGB
Escribe el tono, la saturación y el valor, y los canales RGB aparecen mientras escribes: hsv(217.2, 76%, 96.5%) es rgb(59, 130, 246). El campo acepta grados y porcentaje de Photoshop o Figma, los tres números que da OpenCV y fracciones de Python. Elige la opción del selector Notación HSV antes de pegar, porque si el campo ya tiene un color, el selector lo reescribe como el mismo color en la nueva notación.
Escribe el tono en grados y la saturación y el valor en porcentaje. Separa los valores con comas o espacios.
¿Qué significan los tres números de HSV?
El primer número es el tono o matiz (H), un ángulo en la rueda de color: 0° es rojo, 120° verde y 240° azul[1]. El segundo es la saturación (S) y el tercero el valor (V). Photoshop llama HSB a este mismo modelo, y la ayuda de Adobe llama a sus componentes tono, saturación y brillo[2].
La saturación y el valor se entienden mejor pensando en pintura. Alvy Ray Smith, que describió el modelo en 1978, los comparó con añadir blanco y negro a un tono puro: menos saturación es más blanco, y menos valor es más negro[3]. Por eso cualquier color con un valor del 0% es negro, digan lo que digan los otros dos números, y con una saturación del 0% queda un gris de ese valor.

Si tienes el color en otro formato, como OKLCH, Lab o código de Android, el convertidor de colores lo muestra a la vez en todos los formatos.
¿Cómo se convierte HSV a RGB?
Primero calcula el croma, es decir, la separación entre los canales: C = V × S. Luego divide el tono entre 60°. La parte entera del resultado elige uno de los seis sectores de la rueda, y con el resto se obtiene el canal intermedio: X = C × (1 − |(H ÷ 60°) mod 2 − 1|). Al final sumas m = V − C a todos los canales[4].
Tomemos hsv(217.2, 76%, 96.5%). El croma es 0,965 × 0,76 = 0,733. El tono entre 60° da 3,62, así que el color está en el sector entre 180° y 240°, donde el rojo vale cero, el verde es el canal intermedio y el azul está lleno. El canal intermedio es 0,733 × (1 − |1,62 − 1|) = 0,279, y m = 0,965 − 0,733 = 0,232.
Tras sumar m, los canales valen 0,232, 0,511 y 0,965. Multiplicados por 255 y redondeados dan rgb(59, 130, 246), y el convertidor de RGB a HEX lo pasa a código hexadecimal.
¿Qué colores RGB hay en la rueda de color cada 30°?
| Notación HSV | Valores RGB | Código HEX |
|---|---|---|
| hsv(0, 100%, 100%) | rgb(255, 0, 0) | #FF0000 |
| hsv(30, 100%, 100%) | rgb(255, 128, 0) | #FF8000 |
| hsv(60, 100%, 100%) | rgb(255, 255, 0) | #FFFF00 |
| hsv(90, 100%, 100%) | rgb(128, 255, 0) | #80FF00 |
| hsv(120, 100%, 100%) | rgb(0, 255, 0) | #00FF00 |
| hsv(150, 100%, 100%) | rgb(0, 255, 128) | #00FF80 |
| hsv(180, 100%, 100%) | rgb(0, 255, 255) | #00FFFF |
| hsv(210, 100%, 100%) | rgb(0, 128, 255) | #0080FF |
| hsv(240, 100%, 100%) | rgb(0, 0, 255) | #0000FF |
| hsv(270, 100%, 100%) | rgb(128, 0, 255) | #8000FF |
| hsv(300, 100%, 100%) | rgb(255, 0, 255) | #FF00FF |
| hsv(330, 100%, 100%) | rgb(255, 0, 128) | #FF0080 |
hsv(0, 100%, 50%) es rgb(128, 0, 0).¿Los números enteros de Figma dan exactamente el mismo color?
| Notación HSV | Valores RGB | Código HEX |
|---|---|---|
| hsv(217.2, 76%, 96.5%) | rgb(59, 130, 246) | #3B82F6 |
| hsv(217, 76%, 96%) | rgb(59, 130, 245) | #3B82F5 |
| hsv(217, 76%, 97%) | rgb(59, 131, 247) | #3B83F7 |
| hsv(142.1, 82.7%, 77.3%) | rgb(34, 197, 94) | #22C55E |
| hsv(142, 83%, 77%) | rgb(33, 196, 93) | #21C45D |
¿Cómo se escribe un color HSV en CSS?
CSS no tiene la función hsv(), pero sí hwb(), en la que después del tono indicas cuánto blanco y cuánto negro se mezclan con él[6]. El modelo HWB lo describió Alvy Ray Smith en 1996, y sale de HSV con dos fórmulas cortas: W = (1 − S) × V y B = 1 − V[7].
Para hsv(217.2, 76%, 96.5%) el blanco es (1 − 0,76) × 0,965 = 23,1% y el negro 1 − 0,965 = 3,5%, así que en la hoja de estilos escribes hwb(217.2 23.1% 3.5%). El navegador muestra el mismo color que rgb(59, 130, 246). Si prefieres una notación que entienda cualquier herramienta, pega el resultado de este convertidor.
¿Por qué un trío de OpenCV vuelve como un color algo distinto?
OpenCV guarda el tono de una imagen de 8 bits como la mitad del ángulo, para que quepa en un byte[8]. Los valores de tono vecinos están separados 2°, y un color que cae entre ellos no tiene equivalente exacto. El trío 109, 194, 246 que da OpenCV para rgb(59, 130, 246) vuelve con la opción OpenCV como rgb(59, 127, 246), con el verde tres pasos más bajo. OpenCV devuelve exactamente lo mismo: comparamos la opción OpenCV con OpenCV.js 4.10 en todos los tríos con tono de 0 a 180.
Si el resultado vuelve a una imagen cargada con cv2.imread, usa cv2.COLOR_HSV2BGR, porque esa imagen guarda los canales en orden azul, verde, rojo[9].
¿Qué formatos HSV acepta este convertidor?
| Lo que escribes | Lo que muestra el convertidor | Cómo lo leemos |
|---|---|---|
| hsv(217.2, 76%, 96.5%) | rgb(59, 130, 246) | Tomamos tal cual la notación con paréntesis, la misma que da el convertidor de RGB a HSV. |
| hsb(217.2, 76%, 96.5%) | rgb(59, 130, 246) | Tratamos el nombre HSB como HSV, porque es el mismo modelo. |
| H 217,2 S 76 B 96,5 | rgb(59, 130, 246) | Quitamos las letras de los campos del Selector de color de Photoshop y leemos la coma entre cifras como decimal. |
| 217,2º 76% 96,5% | rgb(59, 130, 246) | Leemos como grado el ordinal º, que en el teclado español está más a mano que el signo de grado. |
| 0,6034 0,7602 0,9647 | rgb(59, 130, 246) | Reconocemos tres fracciones no mayores que 1 como notación de Python y las leemos como con la opción 0–1. |
| hsva(217.2, 76%, 96.5%, 0.5) | rgba(59, 130, 246, 0.5) | Tomamos el cuarto número como opacidad y lo pasamos al resultado como rgba. |
| [109 194 246] | rgb(59, 127, 246) | Leemos con la opción OpenCV un array de NumPy impreso por Python, con corchetes incluidos. |
| -120, 100%, 100% | rgb(0, 0, 255) | Giramos un tono negativo sobre la rueda igual que CSS, así que −120° es lo mismo que 240°. |
| hsv(217.2, 76%, 96.5% | rgb(59, 130, 246) | La falta del paréntesis de cierre es una errata, así que leemos los números igualmente. |
Convertir otras unidades a RGB
Fuentes
- Modelo de color HSV — Wikipedia
- Elegir colores en Adobe Photoshop — Adobe
- Color Gamut Transform Pairs (SIGGRAPH 78) — Alvy Ray Smith
- HSL and HSV — HSV to RGB — Wikipedia (en inglés)
- About color models — Figma Help Center
- CSS Color Module Level 4 — HWB Colors: hwb() function — W3C
- HWB — A More Intuitive Hue-Based Color Model — Alvy Ray Smith
- Color conversions: RGB ↔ HSV — OpenCV
- Image file reading and writing: imread — OpenCV
- colorsys — Conversions between color systems — Python Software Foundation
Todos los valores de las tablas se calcularon a partir de las definiciones de las unidades y se comprobaron aritméticamente antes de publicarlos. Los datos históricos y los nombres de las unidades locales proceden de las fuentes indicadas arriba.
Última revisión del contenido: · redactado y verificado por el equipo de Arteon
Preguntas frecuentes sobre convertir HSV a RGB
¿Por qué el convertidor no acepta una saturación de 194?
Con la opción 0–360°, 0–100%, la saturación y el valor llegan como mucho a 100. Un número mayor sin signo de porcentaje suele venir de la escala de 0 a 255 de OpenCV, así que en lugar de recortarlo en silencio al 100%, el convertidor muestra un aviso. Cambia entonces la Notación HSV a OpenCV (0–179, 0–255).
En la notación 0–1, ¿el tono también es una fracción?
Sí. El módulo colorsys de Python da los tres números de 0 a 1[10], así que el tono es una fracción de la vuelta completa. 0,6034 × 360° da 217,2°.
¿Cómo paso de HSV a código HEX?
Convierte aquí el valor y pega el resultado en el convertidor de RGB a HEX. El color lo ves enseguida en la muestra cuadrada junto al campo, y al pulsarla se abre el selector de color del sistema.
¿Cómo paso de RGB a HSV?
Escribe los canales en el convertidor de RGB a HSV. El botón Cambiar orden te lleva allí con el resultado actual.

Ayúdanos a mejorar nuestras herramientas
¿Tienes una idea para una función, has encontrado un fallo o quieres proponer otra herramienta? Escríbenos.