Convertir RGB a CMYK
Este conversor de RGB a CMYK transforma los canales rojo, verde y azul en porcentajes de cian, magenta, amarillo y negro.
Ejecutar — gratis
Introduzca cada valor en la escala habitual de 0–255 y la calculadora aplicará la conversión sustractiva estándar. El resultado es determinista, está claramente rotulado y se redondea a dos decimales, por lo que resulta útil para comprobaciones rápidas, flujos de software repetibles, entregas de diseño y estimaciones de preimpresión sin archivos de imagen ni programas de gestión del color.
Introduzca un color RGB completo
Indique los canales rojo, verde y azul como números entre 0 y 255, ambos incluidos. Los tres son obligatorios porque el color depende de su combinación. Se admiten decimales procedentes de cálculos anteriores. El conversor rechaza valores ausentes, no numéricos, infinitos o fuera del intervalo, en vez de recortarlos y ocultar un error. Si su fuente usa hexadecimal, convierta primero cada par a decimal. Conserve además el RGB original al documentar el resultado, pues la conversión expresa el mismo color nominal en otro modelo, pero no sustituye el perfil cromático de origen.
Comprenda el cálculo sustractivo
Primero se normaliza cada canal dividiéndolo por 255. El componente negro se obtiene restando de uno el mayor canal normalizado. Salvo en el negro puro, cian, magenta y amarillo se calculan retirando ese negro compartido del inverso de cada canal y dividiendo por la escala restante. Después, los cuatro valores pasan a porcentajes con dos decimales. El negro puro requiere un caso especial para evitar una división por cero: devuelve 0% de cian, magenta y amarillo, y 100% de negro. El blanco devuelve cero en los cuatro componentes.
Use los porcentajes en el contexto adecuado
Considere la respuesta una base matemática para documentación, validación, enseñanza y lógica de software. En producción impresa, entregue también el color original y consulte a la imprenta qué perfil CMYK corresponde al papel y a la máquina. Una aplicación con perfiles puede modificar los porcentajes para conservar la apariencia dentro de una gama imprimible menor. Esta calculadora no impone un límite total de tinta ni decide si conviene un negro enriquecido. Mediante la API, cada conversión cuesta $0.002; el navegador ejecuta el mismo núcleo determinista sin red, azar ni estado temporal.
Qué puede hacer con ella
Preparar una entrega de diseño
Añada una estimación CMYK coherente junto a un color RGB antes de acordar ajustes específicos de impresión.
Validar código de conversión
Genere porcentajes deterministas para pruebas, integraciones y comparaciones con otra implementación de la fórmula estándar.
Enseñar el color sustractivo
Muestre cómo los componentes RGB se relacionan con cian, magenta, amarillo y negro, incluido el caso del negro puro.
Preguntas frecuentes
¿Qué intervalo RGB acepta?
Cada valor rojo, verde y azul debe ser un número finito entre 0 y 255, incluidos los extremos.
¿Cuántos decimales devuelve?
Cada porcentaje CMYK se redondea a dos decimales; los porcentajes enteros exactos permanecen como números simples.
¿Por qué se trata aparte el negro puro?
La fórmula general dividiría por cero. El resultado estándar es 0% de cian, magenta y amarillo, y 100% de negro.
¿Coincidirá exactamente con una conversión profesional?
No siempre. Un programa profesional puede aplicar perfiles ICC, límites de tinta, generación de negro, papel e intención de renderizado.
¿Cuánto cuesta una conversión por API?
Una conversión de color RGB cuesta $0.002. El cálculo también está disponible en el navegador.
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-to-cmyk \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"red":46,"green":139,"blue":87}'const res = await fetch("https://api.kit.forhosting.com/color/rgb-to-cmyk", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"red": 46,
"green": 139,
"blue": 87
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/rgb-to-cmyk",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"red": 46,
"green": 139,
"blue": 87
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/rgb-to-cmyk", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"red":46,"green":139,"blue":87}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"red":46,"green":139,"blue":87}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/rgb-to-cmyk", 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
{
"red": 46,
"green": 139,
"blue": 87
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.rgb_to_cmyk",
"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.
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. |