Converter RGB para CMYK
Este conversor de RGB para CMYK transforma os canais vermelho, verde e azul em percentuais de ciano, magenta, amarelo e preto.
Executar grátis
Informe cada valor na escala usual de 0–255 e a calculadora aplicará a conversão subtrativa padrão. O resultado é determinístico, claramente identificado e arredondado para duas casas decimais, sendo útil em conferências rápidas, fluxos de software repetíveis, entregas de design e estimativas de pré-impressão sem arquivos de imagem ou programas de gerenciamento de cores.
Informe uma cor RGB completa
Forneça os canais vermelho, verde e azul como números entre 0 e 255, inclusive. Os três são obrigatórios porque a cor depende da combinação entre eles. Valores decimais vindos de cálculos anteriores são aceitos. O conversor rejeita dados ausentes, não numéricos, infinitos ou fora da faixa, em vez de cortá-los e esconder um erro. Se a origem estiver em hexadecimal, converta primeiro cada par para decimal. Guarde também o RGB original na documentação, pois a conversão descreve a mesma cor nominal em outro modelo, mas não substitui o perfil de cor da origem.
Entenda o cálculo subtrativo
Primeiro, cada canal é normalizado por divisão por 255. O componente preto é um menos o maior canal normalizado. Exceto no preto puro, ciano, magenta e amarelo são calculados removendo esse preto compartilhado do inverso de cada canal e dividindo pela escala restante. Depois, os quatro componentes viram percentuais com duas casas decimais. O preto puro precisa de um caso especial para evitar divisão por zero: retorna 0% de ciano, magenta e amarelo e 100% de preto. O branco retorna zero em todos os componentes.
Use os percentuais no contexto correto
Considere a resposta um ponto de partida matemático para documentação, validação, ensino e lógica de software. Na produção gráfica, envie também a cor original e pergunte à gráfica qual perfil CMYK corresponde ao papel e à máquina. Um aplicativo com perfis pode alterar os percentuais para preservar a aparência dentro de uma gama imprimível menor. A calculadora não impõe limite total de tinta nem decide quando usar preto enriquecido. Pela API, cada conversão custa US$ 0,002; o navegador executa o mesmo núcleo determinístico, sem rede, aleatoriedade ou estado temporal.
Casos de uso
Preparar uma entrega de design
Inclua uma estimativa CMYK consistente ao lado de uma cor RGB antes de discutir ajustes específicos de impressão.
Validar código de conversão
Gere percentuais determinísticos para testes, integrações e comparações com outra implementação da fórmula padrão.
Ensinar cores subtrativas
Mostre como os componentes RGB se relacionam com ciano, magenta, amarelo e preto, incluindo o caso do preto puro.
Perguntas frequentes
Qual faixa RGB é aceita?
Cada valor vermelho, verde e azul deve ser um número finito entre 0 e 255, incluindo os extremos.
Quantas casas decimais são retornadas?
Cada percentual CMYK é arredondado para duas casas decimais; percentuais inteiros exatos continuam como números simples.
Por que o preto puro é tratado separadamente?
A fórmula geral dividiria por zero. O resultado padrão é 0% de ciano, magenta e amarelo e 100% de preto.
O resultado será idêntico ao de uma conversão profissional?
Nem sempre. Um programa profissional pode aplicar perfil ICC, limite de tinta, geração de preto, comportamento do papel e intenção de renderização.
Quanto custa uma conversão pela API?
Uma conversão de cor RGB custa US$ 0,002. O cálculo também está disponível no navegador.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"red": 46,
"green": 139,
"blue": 87
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.rgb_to_cmyk",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |