[HN Gopher] Show HN: A color name API that maps hex to the close...
___________________________________________________________________
Show HN: A color name API that maps hex to the closest human-
readable name
I built this API to return the closest named color for any hex
value--using curated lists like my own [1], XKCD [2], and others.
I made it from scratch without Express or any frameworks because:
- I'm a frontend/interaction dev and wanted to learn how to build
an API from the ground up. - Existing APIs didn't guarantee unique
names per color--mine does. - It also supports WebSocket updates,
gzip responses, and multiple name sets. I've been collecting color
names for over 10 years [1]. With ~30,000 entries, bundling them
into every color-related project became excessive. This API keeps
things lightweight--for me and hopefully for others too. GitHub:
https://github.com/meodai/color-name-api Would love feedback on
naming logic, accuracy, performance, or backend best practices I
might've missed. [1] Large Color Name List:
https://github.com/meodai/color-names [2] XKCD color survey
results: https://xkcd.com/color/rgb/
Author : meodai
Score : 82 points
Date : 2025-06-19 10:40 UTC (2 days ago)
(HTM) web link (meodai.github.io)
(TXT) w3m dump (meodai.github.io)
| rossant wrote:
| What distance metrics do you use?
| meodai wrote:
| CIEDE2000 DE: https://github.com/meodai/color-name-
| api/blob/main/src/close...
| meodai wrote:
| PS: I've added a section to the Readme:
| https://github.com/meodai/color-name-api?tab=readme-ov-
| file#...
| Gys wrote:
| Beautifully made! But I struggle a little for thinking of use
| cases? Maybe add some to the readme.
|
| Also, I think adding a kind of 'main color' would be useful. For
| example 'shore' being in the category 'blue' or maybe even 'light
| blue'. Because for 'shore' itself I personally would associate
| with sand and maybe yellow.
| meodai wrote:
| Oh I mostly use it for my own apps - it just feels more human-
| readable than hex codes. But yeah, you're right, I should add
| some example use cases to the readme!
|
| Like here:
|
| https://farbvelo.elastiq.ch/ or
| https://meodai.github.io/poline/
|
| Thanks a lot for the feedback, I really appreciate it!
| kiru_io wrote:
| Wow, pretty cool to see the color-names project here. I made a
| simple color guessing website a few years ago [0] using your
| library. I almost forgot it till someone reminds how they enjoyed
| it ([1]).
|
| [0] https://colorguesser.com/ [1]
| https://x.com/wifeofnoob/status/1935788167086436375
| meodai wrote:
| nice its very addicting :D
| johnisgood wrote:
| Guess the Color
|
| Lilac Rose
|
| Your score
|
| 81/100
|
| First try!
|
| My final score was 286/500 :(
|
| At any rate, it keeps using the same colors, so this needs to
| be improved.
| brulard wrote:
| And the scoring is quite generous. For the coupe color I
| picked vibrant red, correct was some steel gray and I got
| 60/100 points
| johnisgood wrote:
| I agree.
|
| I remember there were a couple of websites like this,
| however, with random colors, better scoring, etc.
|
| For example I found these:
|
| https://color.method.ac
|
| https://hexcodle.com (this one has a 10 hour limit per
| game, ugh)
|
| But there were many others. Ideas? I am looking for
| something like colorguesser.com.
| remram wrote:
| Fun! If I may make one suggestion, could you please show the
| color I picked next to the real one once it is revealed?
|
| edit: I get the same 5 colors every time?
| magic_hamster wrote:
| This is nicely done, but can you please explain why you need
| this? What is the use of the color names when you already know
| the actual color value and can use it?
| auscompgeek wrote:
| This can be useful for accessibility. For example you might
| have a colour palette that users can add to, but the colours
| are only stored as hex codes. Giving a screen reader user just
| RGB values isn't as helpful as providing a name alongside it.
| meodai wrote:
| Thanks! Good question - it's mostly about readability and
| communication. Hex codes are precise but not intuitive. Names
| give context, like saying "salmon" instead of #fa8072. That's
| helpful in design tools, UI previews, generative art, or even
| debugging.
|
| Also, the API works the other way around too - you can search
| by name to get the matching color:
| https://api.color.pizza/v1/docs/#api-Default-getColorNames. I
| did not add it to the website yet, because I don't have good UI
| ideas for it yet.
| chownie wrote:
| N=1 but I'm colourblind and frequently I need to talk to
| someone about a UI colour while not having any idea what the
| colour is called, this kind of thing is useful for me.
| meodai wrote:
| That's great to hear! I've gotten some very positive feedback
| from sight-impaired users for this little tool that uses the
| API: https://words.github.io/color-description/ -- it turns
| colors into descriptive text (no AI involved)
| polonbike wrote:
| N>1, proportion of colourblind people depends on the origin,
| but there are many of us. In Europe, nearly 10% of males are
| impacted by one of the colourblind variant, aka millions of
| people. Some of those people are dev, designers, or working
| alongside some sort color requirements, but none of them are
| graphists and can choose colors. Having a tool to provide a
| name instead of an hex code is useful to discuss colors with
| other stakeholders (customers, colleagues, etc...)
| rustc wrote:
| > Having a tool to provide a name instead of an hex code is
| useful to discuss colors with other stakeholders
| (customers, colleagues, etc...)
|
| But how useful are names that this website shows, e.g. the
| first few random names I got were "Singapore Orchid",
| "Scented Spring", "Lamiaceae", and "Lunatic Sky Dancer"?
| meodai wrote:
| I provide all kind of name lists. Depends a lot on what
| you are trying to accomplish. But there are plenty of
| lists providing more recognizable ones.
| unconed wrote:
| I made a similar tool that can work on images and the camera.
| In addition to color picking, it adds moving stripes so you
| can visually tell the difference between colors you might
| otherwise not tell apart.
|
| https://unblind.tech
| pimlottc wrote:
| I would also find such a tool useful, but names like
| "Watermelon Sugar", "Tidal", or "Singapore Orchid" don't
| really help me at all. Just tell me something like "dark
| brown", "pale green", "hot pink", "tan", etc.
| IshKebab wrote:
| Yeah I agree. Maybe useful if it wasn't nonsense paint
| colour names.
| meodai wrote:
| The API provides plenty of lists that should fit your
| less 'nonsensical' needs.
| meodai wrote:
| If you scroll down a bit, you will see that the api
| provides all kind of lists, there are plenty that are more
| descriptive or simpler depending on what you are going for.
| kotaKat wrote:
| Curious if you could run it against the big old list of HN
| topcolors...
|
| https://news.ycombinator.com/topcolors
| meodai wrote:
| I just did, using `npx palette-aldente hn-colors.yml --formats
| name --namelist bestOf`: https://codepen.io/meodai/pen/ByNqbKE
| bargainbin wrote:
| "Safety Orange" is quite apt!
| jen729w wrote:
| I've based my entire colour palette on a tweak of
| international orange. A delightful colour. (I went with
| #f04c00.)
|
| https://en.wikipedia.org/wiki/International_orange
| h1fra wrote:
| what's the story behind this page?
| kotaKat wrote:
| once you receive 250+ karma, the topcolor setting enables in
| your profile, allowing you to specify a custom color code for
| the top bar of HN. this is a ranking of every custom topcolor
| set by users. :)
| nkrisc wrote:
| You have to scroll all the way to the top to turn off the
| distracting shapes falling, at least on mobile.
| meodai wrote:
| yes! but I could add a second button at the footer. (it also
| respects the reduced motion flag, if you set it in your OS)
| Theodores wrote:
| I fully approve of this app. My use case is CSS, more
| specifically SVG. I put SVG in custom properties for things like
| icons, then use them as pseudo elements, thereby keeping
| decoration out of the HTML and avoiding downloads for SVG
| specified in CSS. My SVG is always human readable and simple.
|
| The slight problem with this is that I don't like having to
| escape the '#' character for colours. I prefer the nearest name,
| e.g. 'Chocolate' (which is orange).
|
| Hence I have bookmarked this page.
|
| One observation, I have now moved to oklch for everything else. I
| only do named colours and oklch, hex codes have gone the way of
| CMYK for me.
|
| Are there any plans to make this tool oklch-friendly?
| meodai wrote:
| Thanks for the feedback. For now you would have to do the
| conversion yourself, but I plan to store the names in a more
| absolute format like xyz...
| esperent wrote:
| I like the falling bricks effect although it's quite janky on
| Brave on Android.
|
| I think it would be effective on the landing page to have a form
| where I can enter a hex code and get the color name. I've
| recently tried a couple of web apps like this to get makes for my
| brand colors.
| airstrike wrote:
| Really nice idea. I've thought about building something similar
| but it's not a core feature of my product so I keep postponing
| it.
|
| I do have to ask, though. Why would I ever want to resolve a
| color name as a network request instead of calling a function?
| Sharlin wrote:
| Everything is a microservice now!
| meodai wrote:
| Because a) I keep adding names and b) the list weights over 1mb
| https://github.com/meodai/color-names
| tillcarlos wrote:
| Is your name Meo Dai - Longcat in Vietnamese? :)
|
| Cool project! I wonder what commercial use cases come from it. On
| the My First Million podcast they talked a about a company
| selling color predictions to brands for multiple six figures.
| Maybe you can find correlations and predictions in the data one
| day.
| meodai wrote:
| nuoc dai I use it for all kinds of color generators.
| ZoomZoomZoom wrote:
| There's also https://colornames.org/ - crowdsourced attempt at
| naming _all_ the colours. Currently at 25% (4215221).
| meodai wrote:
| Unfortunately most of the names are pretty bad.
| b0a04gl wrote:
| this solves a real gap i've hit in collab heavy workflows. when
| you're debugging css or handing off design tweaks, saying "make
| it more #7fffd4" is useless to half the team. but giving a fixed
| name, even if imperfect, anchors the conversation. and also on PR
| diffs naming a color vs hex makes git changes way more readable
| in design tokens
| JdeBP wrote:
| I noticed the other day that the colour picker in Microsoft
| Termimal now gives the Web Colour names as one moves the mouse
| pointer around. I don't know how long it has been doing that
| without my noticing. I don't change colours all of that often.
| (-:
| kuehle wrote:
| Makes me wonder which area of the Color space has the lowest
| resolution. As in "this name covers the most hex codes".
| meodai wrote:
| Wonder no longer: https://codepen.io/meodai/full/zdgXJj/ Color
| distribution of Color-Names in various color models
___________________________________________________________________
(page generated 2025-06-21 23:01 UTC)