This guide shows you how to convert numbers to words in Google Sheets using formulas, named functions, and both Indian and US numbering systems.
If you use Google Sheets to create invoices, salary slips, purchase orders, or sales orders, you may often need to convert numbers into words. This could be required for compliance, clarity, or simply to make your documents more readable. To help with this, I’ve created two formulas (US/International and Indian formats) and two custom-named functions that handle this conversion.
Before proceeding, please note that my formula is designed to convert numbers up to 15 digits, meaning it supports values from 0 to 999,999,999,999,999, along with two decimal places.
There are four ways to convert numbers to words in Google Sheets:
- Using a formula (US/International or Indian format)
- Using a custom-named function (US/International or Indian format)
- Using the native BAHTTEXT function
- Using a supported add-on or Google Apps Script
In this post, I will provide my custom-coded formulas and the named functions based on them, which you can easily import into your Sheet and start using.
If you prefer using an add-on, you can explore options in the Google Workspace Marketplace, accessible from the Extensions menu in Google Sheets.
The BAHTTEXT function is already discussed in my function guide. It converts a number into Thai text, and while you can translate the result into English to some extent, it comes with limitations that I have already explained in that tutorial.
˃ Disclaimer:
The number-to-words formulas and named functions in this guide are provided for general use and convenience. While every effort has been made to ensure accuracy, you must independently verify outputs before using them in financial statements, invoices, legal documents, or other official records. The author is not responsible for errors, omissions, or consequences arising from their use.
Difference Between the US/International System and the Indian System
The US/International and Indian numbering systems format and name large numbers differently, which is why separate formulas are needed in Google Sheets.
In the US/International system, digits are grouped in sets of three (1,234,567 → 1 | 234 | 567) and large numbers follow the sequence thousand, million, billion, trillion, and so on. For example, 1,234,567 is written as One Million Two Hundred Thirty-Four Thousand Five Hundred Sixty-Seven.
In the Indian system, the first group contains three digits, and all subsequent groups contain two digits (1,234,567 → 12 | 34 | 567). Large numbers use thousand, lakh, crore, arab, kharab, and so on. The same number, 1,234,567, becomes Twelve Lakh Thirty-Four Thousand Five Hundred Sixty-Seven.
Because the grouping pattern and naming conventions differ, number-to-words conversion must follow the rules of whichever format you use—US/International for million–billion style numbering, or Indian for lakh–crore style numbering.
This tutorial provides formulas and named functions for both systems so you can choose the format appropriate for your documents or compliance requirements.
Convert Numbers to Words – Indian System Formula
To convert numbers to words in Google Sheets using the Indian numbering system (Thousand, Lakh, Crore, Arab, Kharab, etc.), you can use the following formula:
=LET(
x, A2, Rupees, INT(x), Paise, ROUND((x-INT(x))*100),
d, LEN(TO_PURE_NUMBER(Rupees)),
limit, ARRAY_CONSTRAIN(VSTACK(0, 3, 5, 7, 9, 11, 13),
IFS(d<=3, 1, d<=5, 2, d<=7, 3, d<=9, 4, d<=11, 5, d<=13, 6, d<=15, 7), 1),
scale_word, LAMBDA(n, CHOOSEROWS(VSTACK("", "Thousand", "Lakh", "Crore", "Arab", "Kharab", "Neel"), n)),
word_1_19, LAMBDA(n, CHOOSEROWS(VSTACK(
"One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Eleven",
"Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"), n)),
word_tens, LAMBDA(n, CHOOSEROWS(VSTACK(
"","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"), n)),
word_1_99, LAMBDA(n, IF(n<20, word_1_19(n),
TEXTJOIN("-", TRUE, word_tens(INT(n/10)), IFERROR(word_1_19(MOD(n, 10)))))),
word_1_999, LAMBDA(n, LET(h, INT(n/100), r, MOD(n, 100),
TEXTJOIN(" ", TRUE,
IF(h=0, "", word_1_19(h)&" Hundred"),
IF(r=0, "", word_1_99(r))))),
number_words, LAMBDA(n,
TEXTJOIN(" ", TRUE,
SORT(MAP(limit, LAMBDA(i,
LET(part, INT(MOD(n / 10^i, IF(i=0, 1000, 100))),
word_1_999(part) & " " &
IF(part=0, , scale_word(XMATCH(i, limit)))
))),
limit, FALSE)
)
),
IF(
ISBETWEEN(x, 0, 10^15, TRUE, FALSE),
TRIM(TEXTJOIN(" ", TRUE,
IF(Rupees=0, "Zero", number_words(Rupees)),
IF(Rupees=1, "Rupee", "Rupees"),
"and",
IF(Paise=0, "No Paise", IF(Paise=1, "One Paise", word_1_99(Paise)&" Paise"))
)),
"Out of Range"
)
)
Example Result:

Note:
This formula uses the Indian numbering system (Lakh–Crore).
Countries using this system include India, Pakistan, Bangladesh, and Nepal (and it is still used informally in Sri Lanka).
If you’re from one of these countries, you may replace
“Rupees” and “Paise” (highlighted in the formula) with your local currency name—
for example:
- Bangladesh: Taka & Poisha
- Pakistan: Pakistani Rupee & Paisa
- Nepal: Nepalese Rupee & Paisa
How the Formula Works (Brief Explanation)
This formula is built using modular blocks that work together to generate accurate Indian number words up to 15 digits.
1. Input Handling
x– the number in A2Rupees– whole number partPaise– decimal part (up to two digits)
2. Digit Grouping (Core of the Indian System)
dmeasures how many digits the number haslimitdynamically determines the grouping pattern (3, 2, 2, 2… digits) required for:- Thousand
- Lakh
- Crore
- Arab
- Kharab
- Neel
This is the core engine that enables proper Indian-style grouping.
3. Word Dictionaries
word_1_19– words for 1 to 19word_tens– Twenty, Thirty, Forty, etc.word_1_99– combines the above to form numbers up to 99word_1_999– handles Hundreds (e.g., “Three Hundred Forty-Two”)
4. Scale Words
scale_wordassigns the correct Indian scale based on position:- Thousand
- Lakh
- Crore
- Arab
- Kharab
- Neel
5. Main Conversion Engine
number_wordsloops through each digit group, converts it usingword_1_999, and attaches the correct scale word.- Automatically removes unused scales (e.g., skips “Zero Lakh”).
6. Final Assembly
Combines:
- Rupees in words
- Correct singular/plural (“Rupee” vs “Rupees”)
- Paise in words
- Handles:
- Zero
- One
- No Paise
- Out of range numbers
Using the Formula
To use it, simply replace A2 with the cell that contains your number.
The cell reference appears only once, making the formula easy to copy across rows.
Convert Numbers to Words – US/International System Formula
To convert numbers to words in Google Sheets using the US/International numbering system (Thousand, Million, Billion, Trillion), you can use the following formula:
=LET(
x, A2, dollars, INT(x), cents, ROUND((x-INT(x))*100),
limit, SEQUENCE(MIN(ROUNDUP(LEN(TO_PURE_NUMBER(dollars))/3), 5)),
scale_word, LAMBDA(n, CHOOSEROWS(VSTACK("", "Thousand", "Million", "Billion", "Trillion"), n)),
word_1_19, LAMBDA(n, CHOOSEROWS(VSTACK(
"One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Eleven",
"Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"), n)),
word_tens, LAMBDA(n, CHOOSEROWS(VSTACK(
"","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"), n)),
word_1_99, LAMBDA(n, IF(n<20, word_1_19(n),
TEXTJOIN("-", TRUE, word_tens(INT(n/10)), IFERROR(word_1_19(MOD(n, 10)))))),
word_1_999, LAMBDA(n, LET(h, INT(n/100), r, MOD(n, 100),
TEXTJOIN(" ", TRUE,
IF(h=0, "", word_1_19(h) & " Hundred"),
IF(r=0, "", word_1_99(r))))),
number_words, LAMBDA(n,
TEXTJOIN(" ", TRUE,
SORT(
MAP(limit, LAMBDA(i,
LET(part, INT(MOD(n / 1000^(i-1), 1000)),
word_1_999(part) & " " &
IF(part=0,, scale_word(i))
)
)),
limit, FALSE)
)
),
IF(
ISBETWEEN(x, 0, 10^15, TRUE, FALSE),
TRIM(TEXTJOIN(" ", TRUE,
IF(dollars=0, "Zero", number_words(dollars)),
IF(dollars=1, "Dollar", "Dollars"),
"and",
IF(cents=0, "No Cents", IF(cents=1, "One Cent", word_1_99(cents) & " Cents"))
)),
"Out of Range"
)
)
Example Result:

Note:
You can replace “Dollars” and “Cents” with any currency name, such as
Dirhams & Fils, Riyals & Halalas, Euros & Cents, Pounds & Pence, Pesos & Centavos, etc.
The number-to-words logic remains unchanged.
How the Formula Works (Brief Explanation)
This formula uses a structured set of blocks to convert numbers into words up to 15 digits using the US/International (Million–Billion–Trillion) system.
1. Input Handling
x– input numberdollars– whole number portioncents– decimal part (rounded to two digits)
2. Digit Grouping (Core Engine of the US/International System)
- The US/International system groups digits in 3-digit segments:
1 | 234 | 567 | 890 | … limitdetermines how many such groups the number has (Thousand → Million → Billion → Trillion).- Supports up to Trillion because of the 15-digit design.
3. Word Dictionaries
word_1_19– numbers from 1 to 19word_tens– Twenty, Thirty, Forty, etc.word_1_99– builds numbers up to 99word_1_999– handles 1–999 (Hundreds + remainder)
4. Scale Words
scale_wordattaches the correct scale:- Thousand
- Million
- Billion
- Trillion
5. Main Conversion Engine
number_wordsloops through each 3-digit block.- Converts each block using
word_1_999. - Attaches the appropriate scale word based on position.
- Automatically excludes scales for zero blocks (e.g., skips “Zero Million”).
6. Final Assembly
Combines everything into a readable phrase:
- Dollar amount in words
- Proper singular/plural (“Dollar” vs “Dollars”)
- “and” conjunction
- Cents in words
- Handles:
- Zero
- One
- Out-of-range numbers
Using the Formula
To use it, simply replace A2 with the cell that contains your number.
The cell reference appears only once, making the formula easy to reuse and drag down.
Named Functions to Convert Numbers to Words in Google Sheets
If you prefer a cleaner, reusable way to convert numbers to words in either the International (US) or Indian numbering systems, you can use the custom Named Functions NUM_TO_WORDS_US and NUM_TO_WORDS_IND.
Syntax of the Number-to-Words Named Functions
NUM_TO_WORDS_IND(number)
NUM_TO_WORDS_US(number)
Both functions include all the features of the full number-to-words formulas shown earlier.
Examples
=NUM_TO_WORDS_IND(25500010.75)
→ Two Crore Fifty-Five Lakh Ten Rupees and Seventy-Five Paise
=NUM_TO_WORDS_IND(B2)
→ Two Crore Fifty-Five Lakh Ten Rupees and Seventy-Five Paise
(if B2 contains 25,500,010.75)
=NUM_TO_WORDS_US(25500010.75)
→ Twenty-Five Million Five Hundred Thousand Ten Dollars and Seventy-Five Cents
=NUM_TO_WORDS_US(B2)
→ Twenty-Five Million Five Hundred Thousand Ten Dollars and Seventy-Five Cents
(if B2 contains 25,500,010.75)
How to Use These Named Functions
Since Named Functions are saved per spreadsheet, you need to import them into any Google Sheet where you want to use them. If you want them available in multiple sheets, simply import them into each one—or create duplicates of the sheet where they already exist.
Steps to Import the Number-to-Words Named Functions
- Make a copy of my sample sheet.
- Open the Google Sheet where you want to use the function.
- Go to Data → Named functions → Import function, and select the function(s) to import from the copied file.
Frequently Asked Questions (FAQs)
1. Can I use these formulas without creating named functions?
Yes. You can copy the full formulas directly into any cell and replace A2 with your input cell. However, creating named functions like NUM_TO_WORDS_US and NUM_TO_WORDS_IND makes your spreadsheet cleaner and easier to maintain.
2. Do the formulas work with decimal values?
Absolutely. Both formulas convert decimal values into Paise (Indian system) or Cents (International system). For example, 125.50 becomes One Hundred Twenty-Five Rupees and Fifty Paise or One Hundred Twenty-Five Dollars and Fifty Cents.
3. What is the maximum number I can convert?
Both formulas support numbers up to 10¹⁵ (one quadrillion). If the number exceeds this range, the result will display “Out of Range.”
4. Does the function work with formatted numbers (commas)?
Yes. The formulas internally use TO_PURE_NUMBER(), so formatted values like 25,50,010.75 are correctly interpreted.
5. Can I use these functions across multiple sheets or workbooks?
Yes. Either re-import the named functions into each file or make a copy of the first file that already contains them.
6. Will the formulas work in Excel?
No. These formulas are specific to Google Sheets and use functions not available in Microsoft Excel. If you want Excel-compatible solutions, check out these guides:
- Convert Numbers to Words in Excel (No VBA, US/Global)
- Rupees to Words Excel Formula (Lakhs, Crores, No VBA)
7. Can I customize words like “Rupees,” “Paise,” “Dollars,” or “Cents”?
Yes. After importing the named function, you can edit it in Data → Named functions and adjust the wording to your preference.
Conclusion
Converting numbers to words—whether in the Indian or International numbering system—becomes effortless with these powerful Google Sheets formulas and named functions. Instead of manually writing out amounts like Fifty Lakh or Twenty Million, you can now automate the process with a clean, reusable function that works for both whole numbers and decimals.
By creating and importing the NUM_TO_WORDS_IND and NUM_TO_WORDS_US named functions, you ensure accuracy, readability, and consistency across all your financial sheets, invoices, and reports. With just a single function call, you get clear, properly formatted number-to-word output every time.
If you frequently deal with monetary values or large numbers, these formulas will save time, reduce errors, and make your spreadsheets significantly more professional.
Resources
- How to Set Your Country’s Currency Format in Google Sheets
- Currency Conversion in Google Sheets Using GOOGLEFINANCE
- Convert Currency-Formatted Text to Numbers in Google Sheets
- Format Numbers as Currency Using Formulas in Google Sheets
- Extract Numbers Prefixed by Currency Signs from a String in Google Sheets
- Currency Formatting in Google Sheets Drop-Downs






















Thanks A lot. Really your hard work made our task easy.
You’re welcome! I’m glad I could help make your task easier.
Thanks a lot..
your formula is awesome..
Hi,
We want to use it in Sheets to convert number/amount to words with Rupees and Paise. Please help.
Hi, Vijeta,
Sorry for the inconvenience. The formula is very complex and it would take me lots of time and also ‘painful’ to re-code it. I’ll definitely make an attempt in future.
Thanks for your understanding.
Hi Prashanth,
Could you please provide me the access?
Hi, Arun,
I have included the link within the post! Still, I am sending the same via email. Please check your inbox!
How about decimal numbers?
Hi Prashanth,
Thank you so much of this amazing formula. How about if there is a centavo amount and I need to show it as well in words, can you share it with me the formula?
Cheers,
Jessie
How to adopt to different language?
Hi, Fadli,
What about using the GOOGLETRANSLATE function.
You can wrap the formula that returns the amount in words with GOOGLETRANSLATE function. Here is one example.
=googletranslate(if(and(F7="Upper",F9=TRUE),Upper(C14),if(and(F7="Proper",F9=TRUE),proper(C14),if(and(F7="Lower",F9=TRUE),lower(C14)," "))),"en","es")Best,
Please send me the files.
Please check your inbox.
HI,
CAN I HAVE THE ACCESS PLEASE
Hi, Aadi,
I have included the number to word converter download link at the last part of the post. Please check that.
Thanks.
Hi Sir,
Can you also share the link to me? I will be using it in my office for the invoicing.
Thank you so much for the help
Hi,
I have included the link within the tutorial itself. Please check again.
Can I have a copy of the GoogleSheet so that I can use it with my students? I have a couple kiddos who need extra supports to access the same curriculum as their peers. This would be perfect to teach them to use.
Happy to share the number to word converter file with you. Please check your email. Also, I have updated my post and included the link.
PLS NEED IN INR , GIVE ME THE ACCESS
I have sent the Sheets via email.
Regarding the converter in INR, I am Sorry to say right now I don’t have that formula.
I know I can tweak the formulas used and even make it shorter. Because this converter is coded by me several months back. Now I am more accustomed to array formulas.
Due to time constraint, I am unable to do that. If I make any changes, I will update that in this post in future.
Thanks
Hi Good day
Please send me the code for converting number to words.
Thanks
Interested on the code! Thanks!
Please Check your inbox.
Please provide access
Hi Prashanth,
Could you please provide me the access.
Interested to see the code.
Thanks.
hi
kindly send for an access. thank
Hi! I requested for an access. Thanks!
Done!
Please give me access as well. Thank you!
Hi Dmitry,
I’ll send you the number to word converter file via Email soon. It’ll be an editable version which you can use.
I’ve also noted few other requests and sending them too.
Thanks.
I too want in international and INR please
Would love to see if this code works for me.
@john Smith, @ Babu R, @ Rajesh
Already shared via Email
Thanks for showing interest.
Hii
Kindly share your code
Thanks
Can I please get the command bro….
Kindly share the code/access for the code. Thanks.
Dear Prashanth
Thanks for your time
Could you please provide the code
Again, thank you.
Hi Ronald,
I have already sent it to your provided mail and hope that this number to word converter can useful to you.
Dear Prashanth,
I need this code of my personal use.
Thank you.
Done!
Hello,
May I have access to the code? Thank you.
Hi, I’ve sent the files via email.
I want access
— Shared via email —
i need function for INR.
i need function for Indian rs
@apb
I think I should tweak the formula little bit. If I make any changes, I’ll update you.
Thanks.
Hey Prashanth,
Please provide me access to this file.
Thanks
Done 🙂
Hi,
Can you please provide access!
Thanks.
Hi Vickky,
You can check your inbox. I’ve sent two spreadsheet files. Both are required.
Thanks for the drop by!
Interested on the code! Thanks!
Hi,
I’ve sent the files via personal mail.
Thanks for the drop by.
Cheers!
Hi, can I please get access to the code? Thank man!