Convertidor de RGB a HSV
Pase un color RGB a las cifras que usa una rueda de color: el naranja 255, 128, 0 tiene un tono de unos 30° con saturación 1 y valor 1. Útil cuando un selector necesita el tono y el brillo por separado. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Resistencia (Ω)
- 255
- G
- 128
- B
- 0
- H
- 30,1176470588
- S
- 1
- Voltaje (V)
- 1
- H grados
- 30,1176470588
Este convertidor de RGB a HSV toma tres intensidades de canal —rojo, verde y azul— cada una como un entero de cero a doscientos cincuenta y cinco, y devuelve el tono en grados más la saturación y el valor como fracciones unitarias de cero a uno. Diseñadores, desarrolladores de front-end y estudiantes usan este mapeo cuando una paleta vive en canales sRGB pero la interfaz necesita una rueda de tono, un deslizador de saturación, o un control de brillo que los humanos puedan razonar. El motor es totalmente determinista: normaliza cada canal dividiendo entre doscientos cincuenta y cinco, encuentra el máximo y el mínimo, calcula la diferencia, y luego aplica la clásica fórmula de tono de seis sectores y las identidades estándar de saturación y valor —nunca llama a la red, muestrea aleatoriedad, ni depende del reloj.
Qué significa la conversión de RGB a HSV y qué contiene la respuesta
En el modelo sRGB de ocho bits que usan CSS y la mayoría de los gráficos web, cada uno de rojo, verde y azul es un canal entero de cero a doscientos cincuenta y cinco.
HSV reorganiza ese mismo color en tres ejes perceptuales: el tono es la posición en la rueda de color en grados, desde cero inclusive hasta trescientos sesenta exclusive; la saturación es cuán puro es el color, desde gris en cero hasta croma total en uno; y el valor es el brillo general, desde negro en cero hasta la forma más brillante de ese tono en uno.
La conversión primero escala cada canal dividiendo entre doscientos cincuenta y cinco, luego fija Cmax al mayor de los tres canales unitarios, Cmin al menor, y delta a su diferencia. El tono es cero cuando delta es cero (un eje gris); de lo contrario, proviene de qué canal es Cmax y una fórmula de sector modular que mapea los casos dominados por rojo, verde y azul sobre la rueda. La saturación es cero cuando Cmax es cero, y en caso contrario delta entre Cmax; el valor es simplemente Cmax.
No hay una ruta que acepte porcentajes o canales en coma flotante como entrada, ni un límite silencioso de doscientos cincuenta y seis a doscientos cincuenta y cinco.
Dónde encaja la conversión de RGB a HSV en el diseño, el estudio y el software
Los diseñadores encuentran este mapeo cuando una guía de marca lista muestras RGB y un selector basado en tono o un sistema de animación necesita H, S y V, cuando un cuentagotas de captura de pantalla reporta rojo verde azul y una paleta generativa debe rotar el tono manteniendo el valor, o cuando las herramientas de accesibilidad deben razonar sobre el brillo por separado del croma.
Los estudiantes lo ven en cursos de gráficos por computadora que introducen modelos de color cilíndricos, en clases de arte digital que se mueven entre deslizadores de canal y ruedas HSV, y en calentamientos de entrevista que piden una conversión mental de un triplete corto. Las herramientas de producto y educación usan la conversión cuando un estudiante ajusta tres campos RGB y la interfaz debe mostrar el tono, la saturación y el valor en vivo, sin un viaje de ida y vuelta a una biblioteca gráfica pesada.
Combínelo con herramientas de color multiformato cuando necesite hexadecimal o CMYK, y con otros convertidores gratuitos deterministas cuando esté construyendo un pequeño laboratorio de higiene de sistemas de diseño.
Qué puede hacer con ella
Ruedas de tono y herramientas de paletas
Convierta tripletes RGB de marca en tono, saturación y valor, para selectores, paletas generativas y fotogramas clave de animación.
Tareas y demostraciones didácticas
Verifique el trabajo de conversión de RGB a HSV de los estudiantes y haga demostraciones en vivo de modelos de color cilíndricos sin aplicaciones de calculadora opacas.
Preguntas frecuentes
¿Cuánto cuesta el convertidor de RGB a HSV?
Es gratis en su navegador, en esta página.
¿Qué rango se permite para r, g y b?
Cada canal debe ser un entero de 0 a 255, ambos inclusive.
¿En qué unidades están h, s y v?
El tono h está en grados en [0, 360). La saturación s y el valor v son fracciones unitarias en [0, 1].
¿Esto convierte HSV de vuelta a RGB?
No. Esta herramienta solo mapea canales RGB enteros a HSV. Use un convertidor de color inverso o multiformato si necesita HSV a RGB u otros espacios.
¿Qué tono y saturación recibe un gris?
Ambos valen 0. Cuando rojo, verde y azul son iguales no hay diferencia entre el canal mayor y el menor, así que el color queda en el eje de grises y solo cambia el valor, de 0 para el negro a 1 para el blanco.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/color/rgb-hsv \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"r":255,"g":128,"b":0}'const res = await fetch("https://api.kit.forhosting.com/color/rgb-hsv", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"r": 255,
"g": 128,
"b": 0
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/rgb-hsv",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"r": 255,
"g": 128,
"b": 0
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/rgb-hsv", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"r":255,"g":128,"b":0}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"r":255,"g":128,"b":0}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/rgb-hsv", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"r": 255,
"g": 128,
"b": 0
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.rgb_hsv",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
min_channel | 0 |
max_channel | 255 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Los canales fuera de cero a doscientos cincuenta y cinco se rechazan con un error claro de invalid_input, en lugar de limitarse en silencio.
Qué significa la conversión de RGB a HSV y qué contiene la respuesta
Esta calculadora devuelve los enteros validados r, g y b, h, s y v redondeados, un h_degrees duplicado para mayor claridad, s_percent y v_percent escalados por cien para interfaces de deslizadores, una cadena de función rgb, una cadena de resumen hsv, la etiqueta de método rgb_to_hsv, y un breve recordatorio de la fórmula. El motor construye un triplete HSV exacto para tres canales legales, o rechaza la solicitud con invalid_input. Los casos rechazados incluyen la falta de un campo r, g o b, cadenas vacías tras recortar espacios, números que no son enteros, texto no numérico, Infinity o NaN, y cualquier canal estrictamente por debajo de cero o por encima de doscientos cincuenta y cinco.
Cómo se leen r, g y b, y cómo se mantiene reproducible HSV
Los espacios en blanco externos en los canales de cadena se recortan; se permite un signo más inicial opcional solo cuando los caracteres restantes son dígitos decimales que se interpretan como un entero dentro del rango. Un número JavaScript simple se acepta solo cuando es un entero finito dentro de cero a doscientos cincuenta y cinco; valores como ciento veintiocho coma cinco fallan la validación en lugar de redondearse, y los valores negativos o de doscientos cincuenta y seis en adelante fallan con un mensaje que nombra el canal y establece que debe permanecer dentro de cero a doscientos cincuenta y cinco. El rojo puro se mapea a tono cero con saturación y valor completos; el negro puro se mapea a tono cero, saturación cero y valor cero; canales mixtos como doscientos cincuenta y cinco, ciento veintiocho, cero producen un tono cálido cerca de los treinta grados con saturación y valor completos. Los campos preferidos son r para rojo, g para verde y b para azul, pero se aceptan los alias red y R mayúscula para rojo, green y G mayúscula para verde, y blue y B mayúscula para azul, de modo que hojas de cálculo, cadenas de consulta y formularios tipados puedan reutilizar el mismo contrato sin renombrar columnas. Tras la validación, la conversión usa únicamente aritmética en forma cerrada sobre los canales unitarios, y luego redondea los componentes en coma flotante a un ancho decimal fijo, para que los goldens de JSON y las aserciones de integración continua se mantengan estables entre plataformas. Combine la ejecución gratuita en el navegador de esta página con la API de pago cuando necesite el mismo resultado matemático dentro de un pipeline automatizado sin tener que reimplementar usted mismo la normalización de canales.
Dónde encaja la conversión de RGB a HSV en el diseño, el estudio y el software
En esta página el trabajo se ejecuta enteramente en su navegador; a través de la API cada consulta exitosa cuesta $0.002, la validación fallida no se cobra, y nada se almacena después de que se devuelve la respuesta. Esa separación —exploración interactiva gratuita y una API de pago idéntica— coincide con el resto del catálogo tier A del KIT y le permite pasar de una demostración de aula o una revisión de diseño a un pipeline automatizado sin cambiar el resultado matemático.
Casos de integración
Fixtures de prueba deterministas
Genere resultados HSV reproducibles para pruebas unitarias, verificaciones de propiedades y aserciones de integración continua en ayudantes de color.
Preguntas técnicas
¿Por qué se rechaza 256 en lugar de limitarlo?
Limitar en silencio oculta errores de datos. Los canales fuera de rango fallan con invalid_input, para que quien llama corrija los valores de origen en lugar de publicar el color incorrecto.