CSE 134B Web Client Languages
  1. Presentation
  2. Color
  3. Color across cultures

Presentation · Color 09

Color across cultures

Red means danger, or a sale, or a rising price, or luck, depending on who is reading. Color meaning is learned, not built into the eye, so a page that relies on it is making a guess about its readers. This page looks at where those guesses go wrong, how language itself divides color, and how to treat the colors that carry meaning as locale data, the way you already treat strings.

The pages before this one asked whether a reader can see a color: on a dim screen, in sunlight, with a color vision deficiency, under forced colors. This page asks what a reader takes it to mean. The answer depends on where they grew up, what they read every day, which language they speak and even which market they trade in. Most of the fixes are ones you already know from page 01, Why color matters, and page 08, Color for people: say everything in words or shapes, and let color repeat it. What this page adds is the part of color that should change with the reader's locale, and the honest ways to decide which locale that is.

A word about the claims that follow. Statements about what a color "means in" a country are generalizations about tendencies, learned in particular settings, and they vary by region, generation, context and person. This page attributes each claim to a source, prefers the kind that can be checked (what a stock exchange's own site shows, what a study measured), and says where sources disagree. Treat any chart that assigns one meaning per color per culture as a conversation starter, not a specification.

1. Meaning is learned

Nothing in the physics of a 620-nanometer wavelength says "stop". Red's associations come from the things people have learned to connect with it: blood and fire, traffic lights and warning signs, red ink in a ledger, a bride's dress, a political party, a lucky envelope. Different places have learned different connections, and the same person carries several at once, chosen by context. A US reader sees red as an error message in a form, as a discount on a price tag and as a holiday on a calendar, and is rarely confused, because the context says which one is meant.

The familiar examples are about ceremonies. John Yunker, who writes about web globalization, notes that "at a Chinese wedding, for example, the bride typically wears red, not white," and that white "is more often associated with death" in parts of East Asia, to the point that some companies avoid white packaging (Global by Design, 2013). He adds the counterexample himself: Apple, which packages its products in white, "seems to have done quite well in spite of this perceived hurdle." That is the shape of most cultural color advice. A tendency is real enough to be worth knowing, and weak enough that a strong design, a familiar brand or a clear context overrides it.

For a developer, three consequences follow:

  • Brand colors stay; signal colors travel. A brand is a promise of sameness, and Terra Outfitters' orange should be the same orange in every locale. The colors that report something (up and down, success and danger, available and sold out) are the ones whose meaning can flip, and they are the ones to treat as locale data.
  • Context beats association. A red word next to a form field reads as an error in any culture that uses forms, because the field and the word say so. A red number alone, with no sign and no arrow, is where readers fall back on their own conventions.
  • The cheapest fix is the one you already make for accessibility. If a color never carries meaning alone, a reader who brings a different convention loses some mood, not the message. Section 6 comes back to this.

2. Conventions that flip: up and down

The clearest case of a color convention that reverses is the stock ticker. On a US financial site, a rising price is green and a falling one red. On a mainland Chinese one, a rising price is red and a falling one green. A US investor reading a Shanghai chart for the first time sees a crash on a good day. Yunker shows exactly that: a Shanghai index summary in red text that "may appear ominous to a Western investor," on a day the market "actually finished up 12 points."

"China, Japan and Korea reverse it" is the usual summary, and it is too coarse. To check it for this page, the market pages of an exchange, a broker or a major portal in each market were opened in Chrome in late October 2026, and the colors of the day's changes read off the screen. The results, with the published sources that agree or disagree:

Colors for rising and falling prices, by market (sites checked in October 2026)
MarketUpDownSeen onSources
United StatesGreenRedYahoo FinanceAll sources agree
Mainland ChinaRedGreenEastmoney (东方财富)All sources agree
Hong KongGreenRedHKEX, the exchange; AASTOCKSJiang et al. (2014) agree; summaries that say "China" leave it out
TaiwanRedGreenYahoo奇摩股市All sources agree
South KoreaRedBlueNaver Pay 증권The 2005 thread agrees; the EU guide groups Korea with China
JapanRed (Nikkei); blue (Yahoo Finance Japan)Green (Nikkei); red (Yahoo Finance Japan)Nikkei; Yahoo Finance JapanSites and sources disagree

Three of the rows correct the usual summary.

  • Hong Kong is not mainland China. The Hong Kong exchange's own site and AASTOCKS, a Hong Kong market portal, show rises in green; AASTOCKS even shows the Shanghai and Shenzhen indexes that way. Feng Jiang and colleagues, who study color and judgment, start from this difference: in "Up or Down? How Culture and Color Affect Judgments" (Journal of Behavioral Decision Making 27, 2014), participants from Hong Kong implicitly linked green with up and red with down, the reverse of participants from the mainland. Both groups write Chinese.
  • Korea's down is blue. Naver's market pages show rises in red and falls in blue, which is also what Frank Tang reported for Korean sites in 2005 (section 9). A design that only swaps two tokens, red for green, cannot express it.
  • Japan is mixed. Nikkei, the financial newspaper, shows rises in red with ▲ and falls in green with ▼. Yahoo Finance Japan shows the Nikkei average's rise in a blue badge and TOPIX's fall in a red one. Benzinga's explainer and the EU guide group Japan with China as red-for-up. In 2005, a survey Tang quoted from a friend found five Japanese finance sites using three different schemes, Nikkei among them with red for up and blue for down, and doubted that the colors reflected culture at all. Nikkei uses green for falls today. The honest summary is that red for rises is common in Japan and not universal.
What up and down look like in six marketsA table of six rows. United States: up green, down red. Mainland China: up red, down green. Hong Kong: up green, down red. Taiwan: up red, down green. South Korea: up red, down blue. Japan: up red on Nikkei but a blue badge on Yahoo Finance Japan; down green on Nikkei, red on Yahoo Finance Japan; marked "varies by site". Every row keeps an up arrow and a down arrow beside the color names. Below the table: two Chinese-speaking markets disagree, so the language is not the market.MarketUpDownUnited States▲ green▼ redMainland China▲ red▼ greenHong Kong▲ green▼ redTaiwan▲ red▼ greenSouth Korea▲ red▼ blueJapan▲ red, often▼ green, oftenvaries by site: Yahoo Finance Japan usesa blue badge for up and red for downTwo Chinese-speaking markets disagree: a page's language is not its reader's market.
Up and down by market, as their sites showed them in October 2026. Each color is named in text, and the arrows say the direction without it.

The convention also governs words. In Taiwan, Tang wrote, a bull market is literally a "red market," and "all the market is very very green" means a crash. A Chinese-speaking reader who says a stock is "in the red" may mean the opposite of an English speaker who says the same thing. That is worth remembering when translating financial copy, not only when picking colors.

The stock ticker matters for this course beyond finance, because it is the pattern for every pair of signal colors. A price list, a dashboard, a growth chart, a "you saved" badge and a fitness tracker all borrow the market's red and green, and each inherits the reversal.

3. Meanings readers bring with them

Some color meanings are not conventions of a display at all. They are associations readers carry from somewhere else, and they attach themselves to a page whether the author meant them or not.

Party colors

In the United States, red means Republican and blue means Democrat, and the EU's Data Visualisation Guide calls these "very strong associations," warning that "many Americans will read political messages" in red and blue charts "even though the data might not be linked to politics." They are also recent. Television networks used different colors from election to election, and the pairing settled only with the long, map-heavy coverage of the 2000 presidential election, as Jodi Enda recounts in Smithsonian (2012). Elsewhere the mapping runs the other way by ideology: in the United Kingdom, red is the color of the Labour Party, on the left, and blue of the Conservatives, on the right.

The practical effect is on charts that have nothing to do with politics. A US map of anything, colored red and blue, invites readers to look for an election in it. A chart comparing two products, two teams or two years in red and blue can read as taking sides. Where the data is not political, a palette from page 05's data palettes that avoids the pair, or uses it with direct labels that leave no doubt, keeps readers on the data.

Stereotypes travel badly

Blue for boys and pink for girls feels old to many readers, and it is younger than it feels. Jo Paoletti's history Pink and Blue: Telling the Boys from the Girls in America (Indiana University Press, 2012) finds young children of both sexes dressed in white through the late nineteenth century, contradictory advice about pink and blue in the early twentieth, and today's pairing settled only around the 1940s. The EU guide gives the design reason to avoid it: "the blue - pink divide also reinforces gender stereotypes." It also narrows the palette for no gain. A chart of survey responses by gender reads just as well in two hues chosen for contrast and labeled directly, and it does not ask readers to accept the pairing first.

The same caution applies to any palette that maps people to colors: skin tones, nationalities, age groups. When a color stands for a group of people, check what the color already means to that group, and prefer labels to legend keys.

4. Language shapes categories

Languages divide the continuous spectrum into named categories, and they do not all divide it the same way. Where one language has a single word, another has two, and the difference turns out to matter, measurably, for how fast speakers tell colors apart.

Berlin and Kay, and the World Color Survey

In Basic Color Terms: Their Universality and Evolution (University of California Press, 1969), the anthropologist Brent Berlin and the linguist Paul Kay asked speakers of 20 languages to name and map a grid of Munsell color chips, and added published descriptions of many more. They argued for two things: that a language's basic color terms (single, general words such as English "red", not "crimson" or "blue-green") pick out similar best examples across languages, and that languages gain basic terms in a partly fixed order. English, in their count, has eleven: black, white, red, green, yellow, blue, brown, purple, pink, orange and gray.

The claim was contested from the start, on the sample, the method and the assumption that every culture names colors as a separate domain, and Berlin and Kay later loosened the order themselves. To test it on a broader base, the World Color Survey began in the late 1970s. Its data archive describes the method: "an average of 24 native speakers of each of 110 unwritten languages" named each of 330 Munsell chips, shown "in a constant, random order", and then picked the best examples of their main terms. The data went online in the early 2000s and is still used to test theories of how color naming varies. What it shows, broadly, is real variation constrained by real regularities: languages differ in how many basic terms they have and where the boundaries fall, and the best examples cluster more than chance would predict.

Russian blues

Russian has two basic words where English has one: голубой (goluboy) for lighter blues and синий (siniy) for darker ones. They are not "light blue" and "dark blue", which are English phrases built on one basic word; they are as separate as English "red" and "pink". In "Russian blues reveal effects of language on color discrimination" (PNAS 104, May 8, 2007), Jonathan Winawer, Nathan Witthoft, Michael Frank, Lisa Wu, Alex Wade and Lera Boroditsky tested whether that difference changes how quickly people tell blues apart.

They showed English and Russian speakers twenty blues spanning the boundary, three squares at a time, and asked which of the bottom two matched the top one. Russian speakers were faster when the two candidates fell on opposite sides of the goluboy/siniy boundary than when both fell on one side. The advantage was largest for colors close together, about 124 milliseconds, and it disappeared when the participants were silently rehearsing a string of digits, which occupies language, but not when they were holding a spatial pattern in memory. English speakers, tested on the same blues, showed no such advantage, even though they placed their own light/dark boundary in nearly the same spot (8.6 on the scale of 20, against 8.7 for the Russian speakers).

Read the result carefully. It does not say English speakers cannot see the difference between those blues: both groups did the task with high accuracy. It says a category in the language speeds up one particular kind of judgment, while language is engaged. That is a modest, measured effect, and more interesting for it.

One strip of blues, divided by two languagesA strip of twenty blue chips, from light on the left to dark on the right, numbered 1 to 20. Above it, one bracket spans all twenty, labeled: English, one basic term, blue. Below it, two brackets meet at a dashed boundary between chips 8 and 9: the left one labeled goluboy, the right one labeled siniy, with the note Russian, two basic terms. Under them, dashed and lighter, the English phrases light blue and dark blue, with the note that English speakers in the study put their own boundary in nearly the same place, at 8.6 against the Russian speakers' 8.7.English: one basic termblue1920goluboy (голубой)siniy (синий)Russian: two basic terms, as separate as English red and pink"light blue""dark blue"English phrases, not basic terms. In the study, English speakers drew their boundary at 8.6,Russian speakers at 8.7, but only the Russian speakers were faster across it.
The same blues, one category in English and two in Russian. The boundary is each speaker's own; the chips here are oklch() steps, not the study's stimuli.

What does a web developer do with this? Two things. First, never assume a color word translates one to one. "Blue" in an interface string may need two words in Russian, depending on the shade, and a translator needs to see the color to choose. Second, be modest about what color categories prove. The language effect is real and small; it is no reason to think a Russian reader sees your palette differently enough to redesign it. The writing systems those readers use raise bigger questions for a page than their color words do, and Type for people covers them.

5. Names for colors

Product colors have names, and names are strings, so they go through translation like any other copy. They need more care than most.

  • "Nude", "skin" and "flesh" assume a reader. Crayola renamed its "Flesh" crayon "Peach" in 1962, a change usually tied to the civil rights movement: the old name made one skin color the default. Bandage makers took longer: Band-Aid announced in June 2020 a range of bandages in light, medium and deep shades of brown and Black skin tones, sold as OURTONE. A "nude" shoe or a "skin" tone in a catalog makes the same assumption today, in any language it is translated into.
  • Evocative names do not survive translation. Terra Outfitters sells "Fern green" and "Clay red". A machine translation turns them into the local words for fern and clay, which may or may not suggest a color, and a literal translation of "Desert sand" or "Midnight" can be meaningless or odd. Give translators the swatch, the hex or oklch() value and the intent ("a muted mid green, named after a plant"), and accept a different name that does the same job.
  • The name is not the color. Keep the product's color as data (a code, a swatch, an image) and the name as a translatable label of that data. Then a translated catalog still shows the same product, and an order still ships the right one.
  • Mark brand names translate="no", not color names. The internationalization lesson shows how in-browser translation treats a page. A product name like "Canyon Water Bottle" should stay as it is; "green" in "Fern green" is exactly what a reader needs translated.

Names also carry color into places where color is missing. A shopper choosing between "Fern green" and "Clay red" by name alone, with a screen reader or in a text email, chooses better when the name says what the color is like. That is one more case where a good label serves accessibility and internationalization at once.

6. The accessibility fix is most of the fix

Page 01's redundancy rule says color reinforces a message and never carries it alone: every state is said at least twice, once in color and once in something that survives without it. Page 05 applied it to status colors, and page 08, Color for people, makes it WCAG's Use of Color criterion. That rule was written for readers who cannot see a hue. It turns out to protect readers who see the hue and read it differently, too.

Consider a price change shown three ways:

  1. Color only: $12.99 in green. A reader with red-green color deficiency cannot tell it from a fall; a screen reader says nothing about direction; a reader from Taipei reads it as a fall.
  2. Color and sign: +$1.00 in green. The sign carries direction for every reader; the green confuses only those who expect red, and only for a moment.
  3. Color, arrow and word: ▲ up $1.00, colored by the locale's token. Every reader gets direction from the arrow and the word, the word is translated with the page, and the color agrees with the reader's convention.

The second version is already good enough to be safe everywhere. The third is better, because it is also translated and familiar. What the locale-aware color adds, on top of a page that is already accessible, is comfort: the page looks the way the reader's own tools look. That is worth doing, and it is a smaller job than it seems, because the meaning is already safe. A page that has done the accessibility work first can treat cultural color as polish, not as repair.

<li> <span translate="no">Canyon Water Bottle</span> <data value="12.99">$12.99</data> <span data-trend="up"> <span aria-hidden="true">▲</span> up $1.00 </span> </li>

The arrow is hidden from screen readers because the word already says it; the word is the message, and it is in the markup, where translation finds it.

7. Signal colors as locale data

If up and down look different in different markets, then what they look like belongs with the other things that change by locale: the language of the strings, the format of dates and numbers, the currency. In CSS, that means two role tokens, --trend-up and --trend-down, that every price change uses, and a small number of rules that set them. Components never name a color; they name a role, as page 05's roles over values recommends. The interesting question is which rule decides, and there are three candidates.

Three things that can set the trend tokens, and which one winsThree boxes on the left, each with an arrow into one box on the right labeled --trend-up and --trend-down. Top box: the content language, the lang attribute, matched by :lang(). Note: easy, but it knows the language, not the market. Middle box: the reader's market, data-market set by the server from the account, the exchange or a market picker. Note: says what is meant. Bottom box, highlighted: the reader's own setting, such as green up or red up, saved with their account. Note: wins over both. Under the right box: the arrows and words carry the meaning whichever rule wins.1. Content language: lang="zh-HK"matched by :lang(zh). Easy, but it knows thelanguage of the text, not the reader's market2. Market: data-market="hk"set by the server from the account, the exchangeor a market picker. Says what is meant3. Reader's setting: "green up"saved with the account, as trading apps offer.Wins over both--trend-up--trend-downlater rules win: 1, then 2, then 3the arrows and words carry themeaning whichever rule wins
The content language, the reader's market and the reader's own setting can each set the two tokens. The more a source knows about what the reader means, the later it should come.

By language: :lang()

The simplest rule uses the language the page already declares. :lang(), which CSS for people introduced for quotation marks and hyphenation, matches an element by the language it inherits from lang, so tokens can change with no script and no extra attribute:

:root { --trend-up: var(--green); --trend-down: var(--red); } /* Chinese and Japanese: red is up. Japan varies by site; this follows Nikkei. */ :root:lang(zh), :root:lang(ja) { --trend-up: var(--red); --trend-down: var(--green); } /* Korean: red is up, blue is down */ :root:lang(ko) { --trend-up: var(--red); --trend-down: var(--blue); } [data-trend="up"] { color: var(--trend-up); } [data-trend="down"] { color: var(--trend-down); }

It works, and it is what the Terra Outfitters store does (section 8). But lang declares the language of the text, and the convention belongs to the market. The two come apart often:

  • One language, several markets. :lang(zh) matches zh-CN, zh-TW and zh-HK alike. Mainland and Taiwanese readers expect red for up; Hong Kong readers, on the evidence of their own exchange, expect green.
  • One market, several languages. A Hong Kong investor may read in English; a US investor may read in Chinese. An English-language page for traders in Shanghai should still show red for up.
  • Tags are written in several forms. A region can follow a script subtag: zh-Hant-HK as well as zh-HK. In a test for this page, Chrome 156 did not match zh-Hant-HK with :lang(zh-HK), and did not accept a list or a wildcard inside :lang(), such as :lang("*-HK"), from Selectors Level 4; WebKit 26.6 did all three. Region-level rules written with :lang() are fragile.
  • Translation changes the language, not the market. A reader who runs a page through in-browser translation sees Chinese words, and the page cannot assume they are now a Shanghai trader.

By market: data-market

The rule that says what is meant names the market directly. A server that knows which exchange a quote comes from, which country an account is registered in, or which market the reader picked can write it into the page, and the tokens follow it:

<html lang="en" data-market="hk"> @layer tokens, market, reader; @layer tokens { :root { --trend-up: var(--green); --trend-down: var(--red); } } @layer market { :root:is([data-market="cn"], [data-market="tw"]) { --trend-up: var(--red); --trend-down: var(--green); } :root[data-market="kr"] { --trend-up: var(--red); --trend-down: var(--blue); } } @layer reader { :root[data-trend-colors="green-up"] { --trend-up: var(--green); --trend-down: var(--red); } :root[data-trend-colors="red-up"] { --trend-up: var(--red); --trend-down: var(--green); } }

This is more honest, and it costs a decision the language rule avoided: someone has to choose the market. For a brokerage, the exchange of each quote decides, and a single page can show a Hong Kong quote and a Shanghai quote in their own colors, with data-market on each row rather than the root. For a store, the market is less clear. A shop's prices are not a stock exchange, and a shopper's convention for a price rise may be "bad news", not "up". In the same 2005 thread, Philippe Verdy suggested that locale data might need "good and bad" as well as up and down, "where good is actually small". A price drop is good for a shopper. Which pair your widget means is a design decision to make on purpose.

By the reader

The last word belongs to the reader. Trading apps commonly offer a setting for exactly this, "red up, green down" or the reverse, because people move between markets and bring their habits with them. Save it with the reader's account or preferences, write it as an attribute, and put its rules in a later cascade layer so it beats the market. It is the same principle as the reader's light or dark choice on page 06, Light and dark: the page proposes, the reader decides.

Under forced colors none of this matters, and it should not: the reader's palette replaces every token, the price changes take the reader's text color, and the arrows and words carry the meaning. That is the redundancy rule paying off a third time.

8. The store: SIN #10 and COLOR FIX #10

The Trail report, the sale page of Terra Outfitters, has a "Price changes this week" panel with four products, each with an arrow, a word and an amount, and a language switch to a Chinese view in simplified characters.

On the discolored Trail report, the panel is SIN #10. Its source comment says: "green is up, red is down, hard-coded. Switch to 中文 and a rising price is still green, which in mainland China's markets reads as falling." The colors are hex values written straight into the rules, #1a8a3a and #d32f2f, so nothing can change them per locale; the language switch translates every word and leaves the colors behind. The hard-coded green is also a little too light: on the panel's white it measures 4.43:1, just under the 4.5:1 that body text needs.

[data-trend="up"] { color: #1a8a3a; } [data-trend="down"] { color: #d32f2f; }

On the fixed Trail report, COLOR FIX #10 does three things. The words and arrows stay as they were: the meaning was already safe, which is why this sin is about comfort and not comprehension. The colors become tokens, --trend-up: var(--green) and --trend-down: var(--red), with light and dark values that reach 6.15:1 and 6.08:1 on the panel in light mode. And one rule swaps them for Chinese:

/* COLOR FIX #10: in mainland China's markets red means up and green means down. The tokens swap with the language; the arrows and words, which carry the meaning, stay. */ :root:lang(zh) { --trend-up: var(--red); --trend-down: var(--green); }

The store chose :lang(zh), and for this page it is a reasonable choice. The Chinese view is written in simplified characters, the script of the mainland, and the store has no accounts, no markets and no server-side locale to consult: the language switch is the only locale signal the page has. A one-line rule that follows it is the smallest fix that works for the readers the Chinese view was written for.

It is still worth being honest about where it would fail. If the store added a traditional-Chinese view for Hong Kong, :lang(zh) would give Hong Kong readers red for up, against their own exchange. If a mainland reader preferred the English view, they would get green. And the prices are in US dollars, which hints that the store's market is American whatever language the page is in. A store with accounts would do better to set data-market from the shipping country or a region picker, and to let the reader choose, as section 7 describes. Until then, the arrows and the words keep every reader safe.

9. An old idea: LC_STOCK_COLOR

The idea that signal colors are locale data is more than twenty years old. On September 29 and 30, 2005, Frank Yung-Fong Tang posted a request to the Unicode mailing list and the W3C's www-international list, under the subject "non really unicode- Need your help to collect LC_STOCK_COLOR" (the original, in the W3C archive; the Unicode archive keeps it inside his follow-up, which quotes it). "This is not really an unicode issue, but i18n issue," it began. Tang had noticed that "most of the US web site use green for increase + and red for decrease -", that "Taiwan and China use opposite color", that Korean sites used red and blue, and that Yahoo's Japanese quote pages used black for up and red for down.

His proposal was concrete. Readers would send, for each ISO 3166 country or region, its "plus" and "minus" colors, a confidence level of Sure, Probably or Guess, and one to three example stock sites. If he could collect "more than 80 countries/regions in one month (by end of Oct 2005)," he would "draft a LC_STOCK_COLOR proposal and submit it to CLDR," the Unicode Consortium's Common Locale Data Repository, which supplies date formats, number formats and translated names to most operating systems and browsers. The name echoes the POSIX locale categories, such as LC_NUMERIC and LC_MONETARY.

The replies are the best part, because they anticipated this page. Philippe Verdy, in a reply forwarded to www-international, suggested that a locale with no color data should mean "a sign must be provided for numeric values", which is the redundancy rule; that a third color was needed for unchanged values; that the colors should be "symbolic names", not RGB values, so a monochrome device could use a pattern, which is a token; and that the concept might be "good and bad" rather than up and down. He also wrote that Western Europe "uses +Red and -Green like in US", the reverse of what Tang had just reported for the US: a slip, in a thread about getting this right. A friend quoted in Tang's follow-up found five Japanese finance sites using three different schemes, and doubted the colors reflected culture at all.

No such field exists in CLDR today: the October 2026 specification of its data format, for CLDR 49, has no entry for stock or trend colors, and JavaScript's Intl has no API for them. So each site still decides for itself, which is what sections 7 and 8 do. The thread is worth reading as a short lesson in how a good internationalization idea starts: someone notices a difference, asks for data with sources and confidence levels, and the replies turn a color table into a design.

10. For discussion

Is the red sale badge a problem?

The Terra Outfitters home page has a "25% off" badge in the brand's burnt orange, a red's near neighbor, and many stores use plain red for sales. Is that a problem for a Chinese audience, given that red is associated with luck and celebration?

Probably not, and the reasoning is worth practicing. A sale badge is not a signal pair with an opposite; it is a call for attention, and red's associations in Chinese-speaking markets, prosperity and festivity, suit a sale at least as well as they suit one in the US. The badge says "25% off" in words, so its meaning never depended on the color. The risk runs the other way: a green "gain" arrow or a green "price up" on a Chinese view is where a learned convention reverses the message. When reviewing a design for another market, ask of each color: is it brand, attention, or signal? Only signals with an opposite need to change.

The meaning wheel

David McCandless's "Colours in Cultures", designed with AlwaysWithHonor for Information is Beautiful, is the best-known chart of color meanings: a wheel of rings, one ring per culture, one segment per meaning. It is a good place to start a conversation and a poor place to end one. Look at its sources, which it lists: color websites, a branding firm, About.com, Pantone and the historian John Gage. Then ask the questions this page has practiced. How many people does each ring stand for, and do they agree? Is "China" one culture, or several markets and generations? Is a meaning listed because a study found it, or because a design article repeated it? Where would Hong Kong's green-for-up go? The chart's simplifications are the useful part: finding them is the exercise.

Your turn

  • Pick a site you use daily and list every color that carries meaning. Which are brand, which attention, which signal? Which signals have an opposite? Which would survive a reader who reads the opposite convention?
  • Find a chart colored red and blue that has nothing to do with politics. Does it invite a political reading? What would you change?
  • Choose a market from the table in section 2 and check it yourself on two sites. Do they agree with each other, and with the table?

11. Summary

Color across cultures, in brief
ConceptKey points
Meaning is learnedColor associations come from experience and context, and vary by place, generation and person. State them as tendencies with sources. Context, such as a label or a form field, usually overrides association.
Brand and signalBrand colors stay the same everywhere. Signal colors with an opposite (up and down, success and danger) are the ones to localize.
Up and downChecked in October 2026: US green up; mainland China and Taiwan red up, green down; Hong Kong green up; South Korea red up, blue down; Japan red up on many sites but not all.
Projected meaningsUS red and blue mean parties, settled around the 2000 election and reversed by ideology in the UK. Pink and blue for gender are a mid-twentieth-century convention and narrow the palette for no gain.
LanguageLanguages divide the spectrum differently (Berlin and Kay, 1969; the World Color Survey: 110 languages, about 24 speakers each, 330 chips). Russian speakers tell goluboy from siniy faster (Winawer et al., 2007): a small effect on speed, not on sight.
Color namesNames are strings: translate them with the swatch and the intent. Avoid "nude", "skin" and "flesh" as defaults. Keep the color as data and the name as its label.
Redundancy firstArrows, signs and words make the message safe for every reader; locale-aware color then adds familiarity, not meaning.
Locale dataTwo role tokens, --trend-up and --trend-down, set by the content language (:lang()), the market (data-market) or the reader's setting, in that order of precedence.
:lang() versus market:lang() is easy and knows the text's language, not the reader's market: zh covers both red-up and green-up markets. A market attribute or a reader setting says what is meant.
The storeSIN #10: hex greens and reds that ignore the Chinese view. COLOR FIX #10: tokens swapped by :root:lang(zh), with the arrows and words kept; right for its simplified-Chinese view, wrong for Hong Kong if it ever adds one.
LC_STOCK_COLORA 2005 Unicode and W3C list thread by Frank Tang to collect up and down colors per country for CLDR, whose replies proposed signs, symbolic colors and good-or-bad semantics. CLDR still has no such field.