Docs/Sources/Name Hex Colors

Name Hex Colors

Find closest named color from hex value

OperationalCredits 1 per callp50 142msReference Data

Overview

Color Name Finder compares the input against a fixed list of 141 CSS named colors, the number reported in `total_named_colors`. The `hex` parameter accepts 3-, 6- or 8-digit hex with or without `#`; shorthand is expanded and an 8-digit value's alpha pair is ignored. The parsed channels come back as `input_rgb`.

For each named color the API computes the straight-line Euclidean distance between the two colors in RGB space, the square root of the summed squared channel differences. `distance` is that value rounded to two decimals, from 0 for an identical color up to about 441.67 for black against white. `similarity` rescales it to a percentage: 100 minus distance as a share of 441.67, also rounded to two decimals. The list is then sorted by distance, nearest first. `exact_match` is true only when the nearest distance is exactly 0.

`closest_color` is the top entry, with `name`, `hex` (six digits, no `#`) and `rgb`. `closest_matches` holds the top N entries, where N is the `closest` parameter, from 1 to 20 with a default of 1. The CSS list contains duplicate values, such as Aqua and Cyan or Fuchsia and Magenta, so two entries can tie at the same distance and appear side by side.

RGB distance is simple and predictable but does not model human perception evenly, so two colors that look close can sit further apart than two that look different. On the Free plan the `closest` parameter is ignored, and `distance`, `similarity` and the `closest_matches` array are removed.

Live Test Name Hex Colors Source →

Formula

One function covers the whole catalog: the first argument names the source, the next are its inputs, and the field after them says which single value lands in the cell. Formulas covers the grammar that applies to all of them.

=VERVE("colornamefinder", A2, "input_hex")

A2 holds the hex you are looking up. Drag the formula down and each row resolves on its own.

With literal values

Nothing has to come from a cell — typed values work the same way.

=VERVE("colornamefinder", "FF5733", "input_hex")

Inputs

Required inputs are positional, in the order below, followed by the field. Everything else is passed as a "name", value pair after that — the same shape as SUMIFS. Premium inputs are accepted on every plan but only take effect on plans that include them.

InputTypeWhere it goesDescription
hexRequiredstringargument 2 (A2)Hex color value (with or without # prefix)
hexColor
closestOptionalPremiuminteger"closest", valueNumber of closest color matches to return
default 1 · range 1–20

Passing an option

=VERVE("colornamefinder", A2, "input_hex", "closest", 3)

What lands in your sheet

The field — the argument after the inputs — is what makes the formula resolve to one cell. Its value is a dot-path from the table below, so swapping it is how you pull a different value — one formula per column.

Seeing everything at once

Leave the field out and the formula returns the whole response instead: two columns, field name on the left and value on the right, spilling from the cell you typed in.

=VERVE("colornamefinder", A2)
Good for exploring, not for filling down

The second row's table would land on top of the first's, and every cell after the first reads #REF! (#SPILL! in Excel). Keep one per sheet, or name a field, and leave the cells below and to the right empty.

Response fields

Paths are relative to data. Each one is exactly what the field argument accepts, so swapping it is how you pull a different value into a cell. On a plan without a Premium field the cell reads #PREMIUM(field) rather than a value, so a locked field never looks like a real answer.

Use as the fieldTypeExample cell valueDescription
input_hexstring#FF5733The hex color value provided as input
input_rgbobject{…}RGB color values decomposed from input hex
input_rgb.rnumber255Red component value from input
input_rgb.gnumber87Green component value from input
input_rgb.bnumber51Blue component value from input
exact_matchbooleanfalseWhether the input matches a named color exactly
closest_colorobject{…}Best matching named color with distance metrics
closest_color.namestringTomatoName of the closest matching color
closest_color.hexstringFF6347Hex code of the closest matching color
closest_color.distancePremiumnumber23.32Euclidean distance metric in RGB space
closest_color.similarityPremiumnumber94.72Similarity percentage of closest match
closest_color.rgbobject{…}RGB values of the closest matching color
closest_color.rgb.rnumber255Red component of closest color
closest_color.rgb.gnumber99Green component of closest color
closest_color.rgb.bnumber71Blue component of closest color
closest_matchesPremiumarray[3]Array of top matching colors with metrics
closest_matches.0.namePremiumstringTomatoName of matched color in results
closest_matches.0.hexPremiumstringFF6347Hex code of matched color result
closest_matches.0.distancePremiumnumber23.32Color distance metric for match result
closest_matches.0.similarityPremiumnumber94.72Similarity percentage for match result
closest_matches.0.rgbPremiumobject{…}RGB values of matched color result
closest_matches.0.rgb.rPremiumnumber255Red component of result match
closest_matches.0.rgb.gPremiumnumber99Green component of result match
closest_matches.0.rgb.bPremiumnumber71Blue component of result match
total_named_colorsnumber141Total count of available named colors

Filling a whole column

Both platforms make one batched call for a column rather than one request per cell, and both cost the same — 1 credit per row looked up. How you write it differs, because the two runtimes batch at different points.

Rows 2–100 in one call
=VERVE("colornamefinder", A2:A100, "input_hex")

In Google Sheets, give the arguments ranges and the answers spill down from the cell you typed in. Custom functions there run synchronously and in isolation, so dragged cells cannot be coalesced — the range form is how a column becomes one call. The field is required here: a per-row two-column table has nowhere to spill. Use a full column per input (A2:A100, not A2) — a single-cell reference is read as row 1 only and the rest of the column comes back blank.

In Excel, type the formula once and fill down — no range form and none needed, because its runtime is asynchronous and the add-in coalesces the calls a fill produces into a single batched request. Do not hand VERVE.CALL a range: Excel flattens it into positional arguments, so A2:A100 arrives as a hundred separate arguments and the cell reads #ERR rather than filling.

Either way, column A holds your hex values and the answers land beside them, one row each, blank rows skipped.

When a cell doesn't fill

A failed lookup returns readable text starting with #ERR rather than a spreadsheet error, because Excel cannot show a custom message on a real error — you would get a bare #VALUE! with no reason. The trade-off is that IFERROR() will not catch it; test with LEFT(cell, 4) = "#ERR" instead. Error handling covers the rest.

Cell readsWhat happened
#ERR Not connectedNo API key saved. Open the side panel and connect your account.
#ERR Replace <name> with a cell or valueA preview formula was copied as-is. Swap the placeholder for a cell reference.
#ERR No "x" in colornamefinderAn option name this source does not take. The message lists the ones it does.
#ERR No data point "…"The field path is not in the response. Check it against the table above.
#PREMIUM(field)The field exists but your plan does not include it.
#ERR Out of creditsThe cycle's credits are spent. Usage resets on your billing date.

Before the formula works

The add-in reads the API key you saved once in the side panel — the key never goes in the formula, so a shared sheet does not leak it and a collaborator without access simply sees the last calculated values.

  1. Install the add-in for Google Sheets or Excel.
  2. Open the side panel and sign in, or paste a key from your dashboard.
  3. Type the formula above into any cell.

Use cases

Design Tools
Identify and name colors in design applications and color pickers
Accessibility
Convert hex colors to named colors for better communication and documentation
Web Development
Find CSS color names for hex values to improve code readability
Color Analysis
Analyze and categorize colors in images and designs with standard color names

Other ways to use Name Hex Colors

Set up Name Hex Colors on VerveSheets, or reach the same source a different way. Your VerveSheets account and credits work on all of them — one key, one balance.

Call it as a REST APIOne HTTPS endpoint and an x-api-key header, with SDKs for Node, Python and .NET.APIVerve →Reference →
Give it to an AI agentConnect over MCP and your agent calls it as a native tool — Claude, Cursor, ChatGPT.VerveKit →Reference →
Ground an agent on itA cited, machine-checkable fact your model can't produce on its own.VerveContext →Reference →

More in Reference Data:

Was this page helpful?