UNICHAR function

UNICHAR returns the Unicode character that corresponds to a given decimal code point, letting you insert symbols directly in Excel or Google Sheets.

=UNICHAR(number)

Generate a UNICHAR formula

Describe what you need. The generator will reach for UNICHAR where UNICHAR is the right tool, and tell you when it is not.

How to get a better answer
  • Name your columns by letter and by header: "column F (Net Value)" beats "the amount column".
  • State every condition, including the negatives — "not cancelled" changes the formula's shape.
  • Say where the data starts if it is not row 1, and whether it will grow.
  • Check the settings above match your spreadsheet: the wrong argument separator is a syntax error on your machine.

Arguments

How UNICHAR reads its arguments
numberrequiredUNICHAR
ArgumentRequiredDescription
numberRequiredA numeric value (integer) representing a Unicode code point; values outside the 1-1114111 range or non-numeric input cause errors.

Returns

It returns a single text string containing the requested Unicode character.

Availability

Excel: All · Google Sheets: Supported

Worked examples

1. Flag high-spend campaigns with a rocket emoji

CampaignChannelSpendClicksConversions
Spring SaleSearch720034027
Winter BlastSocial420021015
=IF(C2>5000, UNICHAR(128640), "")

Result: 🚀 (for the Spring Sale row; blank for Winter Blast)

The formula checks the Spend column (C). If a campaign spent more than 5,000 units, UNICHAR(128640) returns the rocket emoji (U+1F680). The Spring Sale row meets the condition, so the cell shows 🚀. The Winter Blast row does not, so the formula returns an empty string.

2. Add a star to the channel with the most clicks

CampaignChannelSpendClicksConversions
Spring SaleSearch720034027
Winter BlastSocial420021015
Summer PromoDisplay310041022
=IF(B2=INDEX($B$2:$B$4, MATCH(MAX($D$2:$D$4), $D$2:$D$4, 0)), UNICHAR(9733), "")

Result: ★ (appears next to the Display channel row)

MAX($D$2:$D$4) finds the highest click count (410). MATCH locates the row where this maximum occurs (row 4). INDEX returns the Channel name for that row (Display). IF then compares each row's Channel to that name; only the Display row matches, so UNICHAR(9733) returns the star character (U+2605). All other rows return an empty string.

3. Create a tiny bar chart of conversion rate using block characters

CampaignChannelSpendClicksConversions
Spring SaleSearch720034027
Winter BlastSocial420021015
=REPT(UNICHAR(9608), ROUND(E2/D2*10,0))

Result: ■■■■■■ (seven block characters for Spring Sale; five for Winter Blast)

E2/D2 computes the conversion rate (Conversions ÷ Clicks). Multiplying by 10 scales the rate to a 0-10 range suitable for a visual bar. ROUND removes any fractional part, and REPT repeats the full-block character (U+2588) that many times. The Spring Sale conversion rate (27/340≈0.079) yields 0.79×10≈7.9, rounded to 8 blocks, while Winter Blast yields about 5 blocks.

Common errors

Which UNICHAR error are you seeing?
UNICHAR returned an error#N/A
Use a code point between 1 and 1114111; consult a Unicode table for a valid value.
#VALUE!
Convert the text to a number with VALUE() or reference a cell that contains a numeric code.
#NUM!
Enter a smaller integer that still falls within the Unicode range.
ErrorWhy it happensHow to fix it
#N/AThe numeric code point is outside the valid Unicode range (e.g., UNICHAR(2000000)).Use a code point between 1 and 1114111; consult a Unicode table for a valid value.
#VALUE!The argument supplied is not numeric, such as a text string (e.g., UNICHAR("ABC")).Convert the text to a number with VALUE() or reference a cell that contains a numeric code.
#NUM!The number is too large for the spreadsheet's numeric limits (e.g., UNICHAR(9.9E+307)).Enter a smaller integer that still falls within the Unicode range.

Tips and when to use something else

  • Use CHAR for legacy ASCII symbols (code points 1-255); UNICHAR is needed for any Unicode character beyond that range.
  • Combine UNICHAR with TEXTJOIN or CONCAT to build strings that contain multiple symbols.
  • Remember that Google Sheets returns #N/A for out-of-range values, while Excel returns #VALUE!; plan error handling accordingly.
  • If you need to display a symbol based on a condition, wrap UNICHAR inside IF or IFS for clearer logic.

Frequently asked questions

How do I find the decimal code for a specific emoji to use with UNICHAR?
Search an online Unicode chart for the emoji; the chart lists both the hexadecimal code (e.g., U+1F4A9) and its decimal equivalent (128169). Use the decimal number in UNICHAR.
Can UNICHAR display characters that are not supported by my font?
UNICHAR will return the character, but if the active font lacks a glyph for that code point, the cell will show a placeholder box or a question mark. Switch to a font like Segoe UI Symbol or Noto Emoji to see the symbol.
Why does UNICHAR return a blank cell when I use a valid code point?
Some Unicode characters are zero-width (e.g., invisible formatting marks). Even though UNICHAR returns the character, it occupies no visible space. Use a visible code point such as a star or emoji.
Is there a way to convert a character back to its numeric code point?
Yes, use the UNICODE function, which takes a single character and returns its decimal Unicode value, the inverse of UNICHAR.

Need a different formula?

The full generator is not scoped to one function — describe any spreadsheet problem and it will pick.

Open the formula generator

Reviewed 2026-09-17