Convertidor de LAB a RGB
El color LAB de luminosidad 53.2407941413, a 80.0924595964 y b 67.2031965159 se convierte en rgb(255, 0, 0), el rojo puro #FF0000. Lleve a la pantalla los objetivos LAB de su manual de marca con el mismo resultado siempre. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- L
- 53,2407941413
- A
- 80,0924595964
- Lab b
- 67,2031965159
- L*
- 53,2407941413
- a*
- 80,0924595964
- b*
- 67,2031965159
- Resistencia (Ω)
- 255
Este convertidor de LAB a RGB toma tres componentes CIE L*a*b* —la luminosidad L* de cero a cien, a* en el eje verde–rojo y b* en el eje azul–amarillo— y devuelve enteros de canal sRGB de cero a doscientos cincuenta y cinco bajo el punto blanco estándar D65 usado en la web. Diseñadores, ingenieros de impresión y estudiantes usan este mapeo cuando una marca o un flujo de impresión almacena objetivos Lab, pero la interfaz del producto, CSS o los tokens de diseño necesitan rojo, verde y azul de ocho bits. El motor es totalmente determinista: invierte el pivote CIE Lab hacia XYZ, multiplica por la matriz inversa sRGB de D65, aplica la gamma sRGB directa y luego redondea y recorta cada canal —nunca llama a la red, muestrea aleatoriedad ni depende del reloj.
Qué significa la conversión de Lab a RGB y qué contiene la respuesta
CIE L*a*b* reorganiza un estímulo de color en un eje de luminosidad L* (cero para el negro hasta aproximadamente cien para el blanco difuso bajo D65) y dos ejes cromáticos: a* va de verde negativo a rojo positivo, y b* va de azul negativo a amarillo positivo. El trabajo de pantalla y CSS sigue necesitando canales sRGB de ocho bits, de modo que esta calculadora invierte el pipeline gráfico habitual.
Primero reconstruye XYZ relativo a partir de L*, a* y b* con el pivote inverso de la CIE y el blanco de referencia D65, luego multiplica por la inversa de la matriz sRGB estándar de D65 para obtener luz lineal roja, verde y azul. El compandeo sRGB directo restaura la curva gamma que usan los navegadores; cada canal unitario se escala por doscientos cincuenta y cinco, se redondea al entero más cercano y se recorta entre cero y doscientos cincuenta y cinco.
Cómo se leen los tres valores LAB
Los espacios en blanco externos en números de cadena se recortan; se permite notación científica cuando el token es un decimal finito. Un número JavaScript simple se acepta solo cuando es finito y está dentro del rango declarado: L* debe permanecer de cero a cien, y a* y b* deben permanecer dentro de más o menos ciento sesenta.
Los valores fuera de esos límites fallan con un mensaje que nombra el campo y indica el rango permitido, en lugar de recortarse del lado Lab —el recorte se aplica solo a los canales sRGB finales cuando el color está fuera de la gama de visualización.
El Lab blanco puro se mapea a doscientos cincuenta y cinco en los tres canales; el negro puro a cero; el triplete Lab de rojo puro que proviene de la inversa del sRGB rojo completo vuelve a doscientos cincuenta y cinco, cero, cero dentro del redondeo.
Dónde encaja la conversión de Lab a RGB en el diseño, el estudio y el software
Los diseñadores encuentran este mapeo cuando una guía de marca o una especificación de impresión lista objetivos Lab y la interfaz del producto espera muestras CSS rgb() o hex, cuando un sistema de diseño documenta lado a lado referencias Lab y RGB de pantalla, o cuando una paleta debe previsualizarse en una pantalla sRGB estándar tras ediciones gestionadas por color en Lab. Los flujos de accesibilidad e investigación a veces calculan en Lab por uniformidad y luego proyectan de vuelta a sRGB para la entrega.
Los estudiantes ven el camino inverso en cursos de gráficos por computadora y ciencia del color que introducen XYZ y Lab después de sRGB, en clases de fotografía digital que se mueven entre ajustes Lab y deslizadores de canal, y en calentamientos de entrevista que piden una conversión mental de un triplete corto. Combínelo con RGB a Lab cuando necesite el mapa directo, y con herramientas de color multiformato cuando necesite empaquetado hex o CMYK en torno a los mismos números.
Qué puede hacer con ella
Objetivos Lab de impresión a RGB de pantalla
Convierta valores CIE L*a*b* de marca o de prueba en canales sRGB y hex para CSS, tokens y previsualizaciones de las partes interesadas.
Tareas y demostraciones didácticas
Verifique el trabajo de Lab a sRGB de los estudiantes y haga demostraciones en vivo de XYZ y la inversa D65 sin aplicaciones de calculadora opacas.
Preguntas frecuentes
¿Cuánto cuesta el convertidor de LAB a RGB?
Es gratis en su navegador en esta página.
¿Qué significan L*, a* y b* en un color LAB?
L* es la luminosidad, del negro al blanco difuso. a* va del verde, en valores negativos, al rojo, en positivos; y b* va del azul, en negativos, al amarillo, en positivos.
¿Qué color RGB es el LAB 53.2407941413, 80.0924595964, 67.2031965159?
Es rgb(255, 0, 0), el rojo puro, que en hex se escribe #FF0000. Ese trío LAB es justo el que resulta del rojo pleno de pantalla, así que al convertirlo de vuelta se obtiene el mismo rojo.
¿Qué pasa si el color LAB no cabe en lo que muestra una pantalla?
Cada canal se limita al rango 0–255, de modo que siempre obtiene un color utilizable, y el resultado se marca como fuera de gama para que sepa que se recortó y es solo una aproximación.
¿Qué punto blanco usa la conversión?
D65, el blanco de luz diurna estándar de las pantallas sRGB y de la web. Si sus valores LAB se midieron con otro punto blanco, conviértalos antes a D65 o los colores se desviarán.
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/lab-rgb \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"l":53.24,"a":80.09,"lab_b":67.2}'const res = await fetch("https://api.kit.forhosting.com/color/lab-rgb", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"l": 53.24,
"a": 80.09,
"lab_b": 67.2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/lab-rgb",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"l": 53.24,
"a": 80.09,
"lab_b": 67.2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/lab-rgb", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"l":53.24,"a":80.09,"lab_b":67.2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"l":53.24,"a":80.09,"lab_b":67.2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/lab-rgb", 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
{
"l": 53.24,
"a": 80.09,
"lab_b": 67.2
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.lab_rgb",
"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
l_min | 0 |
l_max | 100 |
a_min | -160 |
a_max | 160 |
lab_b_min | -160 |
lab_b_max | 160 |
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 componentes fuera de los rangos declarados se rechazan con un error claro de invalid_input; los colores fuera de la gama sRGB se recortan al conjunto de canales visualizables más cercano y se marcan con out_of_gamut para que el llamador vea el recorte.
Qué significa la conversión de Lab a RGB y qué contiene la respuesta
La respuesta devuelve l, a y lab_b validados (más los alias L_star, a_star y b_star), los canales enteros r, g y b, X Y Z intermedios redondeados para un JSON estable, una cadena hex, cadenas de resumen rgb y lab, out_of_gamut como booleano, white_point fijado a D65, la etiqueta de método lab_to_rgb y un breve recordatorio de la fórmula. Lab b* se nombra siempre lab_b o b_star en la salida para que nunca choque con el campo del canal azul RGB b. No hay aceptación silenciosa de Infinity, NaN o cadenas vacías: los componentes ausentes o fuera de rango fallan con invalid_input.
Cómo se leen l, a y lab_b, y cómo se mantiene reproducible el RGB
Los campos preferidos son l para L*, a para a* y lab_b para b*, pero se aceptan los alias L, L_star y lightness para la luminosidad, a_star y A mayúscula para a*, y b_star, b y B mayúscula para b*, 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 el pivote inverso, la matriz inversa fija y la curva gamma IEC, y luego redondea los componentes XYZ 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 reimplementar usted mismo la inversa de Lab y la gamma sRGB.
Dónde encaja la conversión de Lab a RGB en el diseño, el estudio y el software
Los equipos de impresión y empaquetado invierten mediciones Lab o valores de prueba en previsualizaciones aproximadas de pantalla para que las partes interesadas vean una coincidencia aproximada en el monitor incluso cuando el color real está ligeramente fuera de gama —la bandera out_of_gamut les indica que la previsualización fue recortada. 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 RGB reproducibles para pruebas unitarias, verificaciones de propiedades y aserciones de integración continua en ayudantes de color.
Preguntas técnicas
¿Qué rango se permite para L*, a* y b*?
L* (campo l) debe estar entre 0 y 100 inclusive. a* y lab_b (b*) deben estar cada uno entre −160 y 160. Los valores fuera de esos rangos, los números no finitos y los campos ausentes se rechazan con invalid_input.
¿Qué punto blanco usa?
Iluminante D65 con blanco de referencia Xn=0.95047, Yn=1.0, Zn=1.08883, en línea con la práctica estándar de sRGB y color web. La respuesta incluye white_point: "D65".
¿Qué significa out_of_gamut?
Algunos colores Lab no pueden representarse en sRGB. Los canales se recortan a 0–255 y out_of_gamut se establece en true para que sepa que el RGB visualizable es una aproximación del Lab solicitado.
¿Por qué Lab b* se llama lab_b?
El campo de salida b es el canal azul RGB. Lab b* se acepta y devuelve como lab_b y b_star para que nunca sobrescriba el canal azul RGB.