Pro UPI QR

Billing tools

Amount in words converter for Indian rupees

Type a rupee amount and get it written out the Indian way, with lakh, crore and paise, in English or Hindi. The words are built in your browser from the figures you type, so nothing is uploaded.

Check that the words match the figures before you use them on a cheque.

For example 1,25,050.50 or ₹4,999/-. Paise go after a dot.

Type an amount to see it in words.

Words in

Try an example

Words are available in English and Hindi.

How it works

  1. Type the amount. Enter it in rupees. Commas, spaces, a leading ₹ or Rs. and a trailing /- are fine, and paise go after a dot.
  2. Choose the words. Pick English or Hindi. For English, choose cheque style (Rupees … Only) or plain style (… Rupees Only), in Title Case or UPPER CASE.
  3. Check and copy. Compare the figures shown above the words with your amount, then copy the words into your invoice or spreadsheet, or write them on the cheque.

What this does and does not do

It does

  • Turns a typed rupee amount into English or Hindi words, with lakh, crore and paise.
  • Runs in your browser: the amount is not sent anywhere or stored.
  • Prints the same English words in cheque style as our invoice generator.

It does not

  • Check your figures, or promise that a bank will accept a cheque.
  • Write the words in Tamil, Telugu or Marathi. Those pages translate the screen only.
  • Give legal, tax or banking advice.

Indian numbering: thousand, lakh, crore

Indian numbering groups the last three digits and then pairs of digits, so one lakh is written 1,00,000 and one crore 1,00,00,000. A lakh is a hundred thousand and a crore is a hundred lakh, which is ten million. The table lists the names above a thousand.

Indian number names with their digits and meaning
NameIn figuresMeans
Thousand1,000ten hundred
Lakh1,00,000100 thousand
Crore1,00,00,000100 lakh, or ten million
Arab1,00,00,00,000100 crore, or one billion
Kharab1,00,00,00,00,000100 arab, or 100 billion

From 100 crore up, this converter reads the crore count in full: One Hundred Crore, One Thousand Crore, One Lakh Crore. It does not use arab or kharab, because a kharab (10,000 crore) is easy to mistake for a trillion, which is ten times larger. Hindi output follows the same rule.

Worked examples

Each row below is produced by the same code as the converter, so it matches what you get above.

Amounts in cheque style, plain style and Hindi
AmountCheque stylePlain styleHindi
₹0.50Rupees Zero and Fifty Paise OnlyFifty Paise Onlyपचास पैसे मात्र
₹1.00Rupees One OnlyOne Rupee Onlyएक रुपया मात्र
₹1,234.50Rupees One Thousand Two Hundred Thirty Four and Fifty Paise OnlyOne Thousand Two Hundred Thirty Four Rupees and Fifty Paise Onlyएक हज़ार दो सौ चौंतीस रुपये और पचास पैसे मात्र
₹17,700.00Rupees Seventeen Thousand Seven Hundred OnlySeventeen Thousand Seven Hundred Rupees Onlyसत्रह हज़ार सात सौ रुपये मात्र
₹1,00,000.00Rupees One Lakh OnlyOne Lakh Rupees Onlyएक लाख रुपये मात्र
₹1,25,050.50Rupees One Lakh Twenty Five Thousand Fifty and Fifty Paise OnlyOne Lakh Twenty Five Thousand Fifty Rupees and Fifty Paise Onlyएक लाख पच्चीस हज़ार पचास रुपये और पचास पैसे मात्र
₹12,34,56,789.50Rupees Twelve Crore Thirty Four Lakh Fifty Six Thousand Seven Hundred Eighty Nine and Fifty Paise OnlyTwelve Crore Thirty Four Lakh Fifty Six Thousand Seven Hundred Eighty Nine Rupees and Fifty Paise Onlyबारह करोड़ चौंतीस लाख छप्पन हज़ार सात सौ नवासी रुपये और पचास पैसे मात्र
₹1,00,00,00,000.00Rupees One Hundred Crore OnlyOne Hundred Crore Rupees Onlyएक सौ करोड़ रुपये मात्र

Writing the amount in words on a cheque

The words carry the legal weight on a cheque. Under section 18 of the Negotiable Instruments Act, 1881, if an amount is stated differently in figures and in words, the amount stated in words is the amount undertaken or ordered to be paid.

Bank guides add a few habits that stop a cheque from being altered:

  • Start the words at the far left of the line and end with Only, so nothing can follow them (IndusInd Bank, Bank of Baroda).
  • Draw a line through any space left on the line, which both banks recommend.
  • Make the words match the figures exactly. Bank of Baroda's guide tells customers to check that the two agree.
  • Keep the words clear and complete. In a 2020 case reported by SCC Online, a Delhi sessions court held that no section 138 offence was made out because the amount in words was not a certain sum.

For invoices, rule 46 of the CGST Rules lists what a tax invoice must carry. An amount in words is not among the particulars it lists (CBIC text as amended to 1 June 2021), so the rule does not itself require it. Many invoices print it anyway.

This is general information from an independent tool, not legal advice and not a bank or tax service. See the disclaimer.

Use it in Google Sheets

Google Sheets can call a short Apps Script function from any cell. It returns the same cheque-style English words as the converter, and it stops with an error message instead of guessing when an amount has more than two decimals or cannot be read. If a formula leaves extra decimals, wrap it first, for example ROUND(A2, 2).

  1. In Google Sheets choose Extensions, then Apps Script.
  2. Delete the code that is there, paste the function below and click Save.
  3. In a cell type =AMOUNT_IN_WORDS(A2) and press Enter. Steps as in Google's guide to custom functions.
/**
 * Amount in words for Indian rupees, cheque style.
 * Use it as =AMOUNT_IN_WORDS(A2). Check the words against the figures before you use them.
 * @param {number|string} amount The amount in rupees, with at most 2 decimals.
 * @return {string} For example: Rupees One Lakh Twenty Five Thousand Fifty and Fifty Paise Only
 * @customfunction
 */
function AMOUNT_IN_WORDS(amount) {
  var ONES = ["", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"];
  var TENS = ["", "", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"];

  function below100(n) {
    return n < 20 ? ONES[n] : TENS[Math.floor(n / 10)] + (n % 10 ? " " + ONES[n % 10] : "");
  }
  function below1000(n) {
    var hundreds = Math.floor(n / 100);
    var rest = n % 100;
    return (hundreds ? ONES[hundreds] + " Hundred" : "") + (hundreds && rest ? " " : "") + (rest ? below100(rest) : "");
  }
  // Whole rupees: crore, lakh, thousand. The crore count is read in words too (One Hundred Crore).
  function indian(n) {
    if (n === 0) return "Zero";
    var crore = (n - (n % 10000000)) / 10000000;
    var rest = n % 10000000;
    var lakh = Math.floor(rest / 100000);
    var thousand = Math.floor((rest % 100000) / 1000);
    var units = rest % 1000;
    var parts = [];
    if (crore) parts.push(indian(crore) + " Crore");
    if (lakh) parts.push(below100(lakh) + " Lakh");
    if (thousand) parts.push(below100(thousand) + " Thousand");
    if (units) parts.push(below1000(units));
    return parts.join(" ");
  }

  if (Object.prototype.toString.call(amount) === "[object Array]") throw new Error("Pass one cell, not a range.");
  var text;
  if (typeof amount === "number") {
    if (!isFinite(amount) || amount < 0) throw new Error("Enter an amount of zero or more.");
    if (amount >= 10000000000000) throw new Error("That is too large: up to 13 digits before the decimal point.");
    text = amount.toFixed(2);
    if (Math.abs(Number(text) - amount) > 0.000001) throw new Error("Use at most 2 decimals, for example ROUND(A2, 2).");
  } else {
    text = String(amount).replace(/\s/g, "").replace(/^(\u20B9|rs\.?|inr)/i, "").replace(/\/-$/, "");
  }
  var match = /^([\d,]*)(?:\.(\d*))?$/.exec(text);
  if (!match || !/\d/.test(text)) throw new Error("Enter an amount in rupees, for example 125050.50.");
  var whole = match[1];
  var fraction = match[2] || "";
  if (whole.indexOf(",") >= 0 && !/^\d{1,2}(,\d{2})*,\d{3}$/.test(whole) && !/^\d{1,3}(,\d{3})+$/.test(whole)) {
    throw new Error("Check the commas: group digits like 1,23,456 or 1,234,567.");
  }
  if (/[1-9]/.test(fraction.slice(2))) throw new Error("Use at most 2 decimals, for example ROUND(A2, 2).");
  whole = whole.replace(/,/g, "").replace(/^0+(?=\d)/, "");
  if (whole.length > 13) throw new Error("That is too large: up to 13 digits before the decimal point.");
  var paise = Number((fraction + "00").slice(0, 2));
  return "Rupees " + indian(Number(whole || "0")) + (paise ? " and " + below100(paise) + " Paise" : "") + " Only";
}

We do not provide an Excel macro. Convert the figure above and paste the words into the cell.

Sources and method

The figures you type are read as text and turned into whole paise, so no floating-point rounding is involved. The English words are the ones our invoice generator prints. Hindi number names come from the Unicode CLDR rules for Hindi: a table for 0 to 99, then सौ, हज़ार, लाख and करोड़. The wording around them, रुपये, पैसे and मात्र (only), is our own and is not part of CLDR, so compare it with the form you are filling. From 100 crore up, the crore count is read in full (एक सौ करोड़) where CLDR would say अरब or खरब.

Last reviewed 31 October 2026 by Kunal Siyag. How we check facts and log changes: accuracy policy.

FAQ

Amount in words questions

How do I write rupees in words in the Indian system?

Say the crore, lakh and thousand groups in turn, then the hundreds and tens, and finish with Only. ₹1,25,050.50 reads Rupees One Lakh Twenty Five Thousand Fifty and Fifty Paise Only. The converter above does this for any amount up to ₹99,99,99,99,99,999.99.

Can it work as a number to words converter for plain numbers?

It is built for rupee amounts, so the words always say Rupees and, when there are any, Paise. For a plain number in the Indian system, type it as an amount and choose plain style, which puts the number first: 1,25,050 reads "One Lakh Twenty Five Thousand Fifty Rupees Only", so leave off the last two words. Digits after a dot are read as paise, not as a decimal fraction.

How do I write paise in words?

Write the rupees, then "and", then the paise in words, then "Paise Only". For ₹1,234.50 that is "Rupees One Thousand Two Hundred Thirty Four and Fifty Paise Only". Below ₹1 there are no rupees to write: for 50 paise, cheque style reads "Rupees Zero and Fifty Paise Only", while plain style starts with the paise and reads "Fifty Paise Only".

Why do cheques say Only after the amount?

It closes the line so nothing can be added after the words. Bank guides give the same advice: start the words at the far left, end with Only, and draw a line through any blank space left on the line (Bank of Baroda and IndusInd Bank, linked under Sources).

What if the words and the figures on a cheque differ?

Section 18 of the Negotiable Instruments Act, 1881 says the amount stated in words is the one that counts. Banks still tell customers to make the two match, so do not rely on the rule to cover a mistake.

What is the difference between a lakh and a million?

A lakh is 1,00,000 (a hundred thousand), so a million is 10 lakh. A crore is 1,00,00,000, which is ten million. The Indian system groups the last three digits and then pairs of digits, which is why 12,34,56,789 reads Twelve Crore Thirty Four Lakh Fifty Six Thousand Seven Hundred Eighty Nine.

How do I write 1,00,000 in words?

One Lakh. On a cheque in cheque style: Rupees One Lakh Only. In Hindi:

एक लाख रुपये मात्र

How do I write 1 crore in words?

One Crore, written 1,00,00,000 (ten million). In cheque style: Rupees One Crore Only. In Hindi:

एक करोड़ रुपये मात्र

Can I get the amount in words in Hindi?

Yes. Choose हिन्दी in the converter and ₹1,25,050.50 becomes the line below. The number names follow Unicode CLDR's Hindi rules, while रुपये, पैसे and मात्र (only) are our own wording. A few numbers have more than one accepted spelling, so compare the words with the form you are filling.

एक लाख पच्चीस हज़ार पचास रुपये और पचास पैसे मात्र

How do I get the amount in words in Google Sheets or Excel?

For Google Sheets, paste the function from the section above into Apps Script and type =AMOUNT_IN_WORDS(A2) in a cell. We do not provide an Excel macro: convert the figure here and paste the words into the cell.

Does GST law require the amount in words on an invoice?

Rule 46 of the CGST Rules lists what a tax invoice must carry, and an amount in words is not on that list in the text we checked (CBIC's consolidated rules as amended to 1 June 2021). Many invoices print it anyway. The rule has been amended since, so check the current text on the CBIC site.

How large an amount can the converter write out?

Up to 13 digits before the decimal point, which is ₹99,99,99,99,99,999.99, with at most two decimals. From 100 crore up the crore count is read in full, for example Rupees One Hundred Crore Only.

Is the amount I type sent anywhere?

No. The words are built in your browser from what you type, and the amount is not stored. If you press Copy, a count of that click for this tool is recorded, without the amount or the words.