[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)