ForHosting KIT · Documents & PDF

Check PDF embedded color profile

This PDF color profile checker reads an extracted XMP, RDF, or PDF metadata dictionary and reports whether it explicitly declares a CMYK profile, an RGB profile, or no embedded color profile.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

That distinction is useful before commercial printing because an RGB declaration may signal that conversion is still required, while a named CMYK output profile can document the intended press condition. The check is deterministic, runs without uploading a PDF to another service, and explains which metadata clue produced the classification.

What the checker establishes

A PDF can look correct on a monitor while still carrying color information that is unsuitable or ambiguous for a print workflow. This checker focuses on one narrow, auditable question: does the supplied metadata block explicitly identify a CMYK profile, identify an RGB profile, or contain no recognized profile declaration? It searches canonical color-space terms, common ICC profile families, and Photoshop color-mode values that appear in XMP and related metadata. The result includes the classification, a Boolean indicating whether a profile was found, and concise evidence describing the matched declaration. A complete metadata block with no relevant declaration returns none; that is a valid result, not an error. By contrast, text that is not a complete XMP, RDF, or serialized PDF dictionary is rejected because silently treating missing metadata as an unprofiled document would hide an extraction failure. The tool analyzes metadata only. It does not render pages, inspect every image object, open an OutputIntent stream, or prove that all page elements use the declared space.

How to prepare and interpret metadata

Supply the complete metadata block extracted from the PDF, including its XMP or RDF wrapper, or provide a complete PDF dictionary enclosed by double angle brackets. Preserve profile names and color-space fields exactly; they carry the evidence used for classification. A CMYK result can come from declarations such as DeviceCMYK, a CMYK color-model value, Photoshop color mode 4, or a recognizable press-profile family such as FOGRA, SWOP, GRACoL, or an ISO Coated profile. An RGB result can come from DeviceRGB, CalRGB, sRGB, Adobe RGB, Display P3, ProPhoto RGB, ECI RGB, an RGB model value, or Photoshop color mode 3. If both families are explicitly present, the checker rejects the input as conflicting rather than choosing whichever match happens to appear first. Interpret none literally: no supported embedded profile declaration was found in the supplied block. It does not mean that the PDF contains no color, nor does it guarantee device-independent output. It means the available metadata does not declare a profile the checker can classify.

Using the result in a print-readiness review

Treat this result as an early checkpoint, not as a complete preflight certificate. For offset or digital print production, a declared CMYK profile is often a useful sign because it records a press-oriented color condition, but the correct profile still depends on the printer, paper, ink limits, and regional standard. An RGB result is not automatically defective: modern PDF workflows may preserve RGB content and convert it through a controlled output intent at the raster image processor. It does, however, tell the production team to confirm where and how conversion will occur. A none result deserves a documented decision. The file may rely on device color, a separate job ticket, or output intent data that was not included in the extracted metadata. Combine this check with page-size, bleed, font embedding, image resolution, transparency, overprint, spot-color, and OutputIntent inspection. In automated intake, store the classification and evidence beside the job, route RGB or unprofiled files for review, and reserve hard rejection for rules agreed with the print provider. Via the API, each metadata check costs $0.002.

Screen incoming print files

Route PDFs with RGB or absent profile declarations to a prepress review before production begins.

Document supplier compliance

Record the declared color family and matching evidence alongside each submitted advertising or packaging file.

Debug inconsistent output

Compare metadata declarations across PDF revisions when proofs and final prints show unexpected color shifts.

Does a CMYK result guarantee that the PDF is print-ready?

No. It confirms a CMYK declaration in the supplied metadata, but a full preflight must also inspect page objects, output intents, fonts, bleed, resolution, and other production requirements.

Why does a valid metadata block return none?

The block is structurally present but contains no supported CMYK or RGB profile declaration. This differs from a missing block, which is rejected as invalid input.

Is an RGB profile always wrong for printing?

No. Some managed workflows intentionally keep RGB data until output conversion. Confirm the conversion policy and target press condition with the print provider.

What happens if CMYK and RGB declarations both appear?

The input is rejected as conflicting because selecting one declaration would conceal ambiguity that should be resolved during preflight.

Does the checker read the complete PDF file?

No. It accepts an extracted XMP, RDF, or PDF metadata dictionary. It does not parse page content or decode embedded ICC streams from PDF bytes.

What does an API check cost?

Each request costs $0.002. The work is deterministic and does not call external services.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/pdf/color-profile-check

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/pdf/color-profile-check \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"metadata":"<x:xmpmeta xmlns:x=\"adobe:ns:meta/\"><rdf:RDF><rdf:Description photoshop:ICCProfile=\"U.S. Web Coated (SWOP) v2\" photoshop:ColorMode=\"4\"/></rdf:RDF></x:xmpmeta>"}'
{
  "metadata": "<x:xmpmeta xmlns:x=\"adobe:ns:meta/\"><rdf:RDF><rdf:Description photoshop:ICCProfile=\"U.S. Web Coated (SWOP) v2\" photoshop:ColorMode=\"4\"/></rdf:RDF></x:xmpmeta>"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "pdf.color_profile_check",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_chars250000
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →