Skip to content
AZ Tools

Spreadsheet Column Converter

Convert between spreadsheet column letters and numbers — A=1, Z=26, AA=27, BC=55 — and between A1 and R1C1 cell notation.

  • LetterAB
  • Number28
  • A1 cellAB1
  • R1C1 cellR1C28

1-based by default — matches what you see in Excel / Sheets. Toggle 0-based for indexing APIs.

How to use

  1. Pick the direction — letter → number or number → letter.
  2. Type your value. The other notations update live, including the full A1 (AB12) and R1C1 (R12C28) cell references.
  3. Switch to 0-based if you're talking to an API that indexes columns from 0.

About this tool

Show

Excel and Google Sheets use bijective base-26 to name columns: A through Z, then AA, AB, …, AZ, BA, …, ZZ, AAA, etc. That's not quite base-26 (there's no zero digit), so the conversion is just slightly off from naive arithmetic. This tool handles both directions, with a 1-based default that matches what you see in the app and an optional 0-based mode for code.

The missing zero is the whole difficulty. In ordinary base-26 the digits would run 0 to 25 and AA would mean the same as A, the way 01 means 1. Here every letter carries a value from 1 to 26 and there is no way to write a leading nothing, so each additional letter multiplies the range rather than extending it: 26 single-letter columns, then 676 two-letter, then 17,576 three-letter. Converting a number is a loop that subtracts one before each division, and forgetting that subtraction is the classic off-by-one that makes Z come out as A followed by nothing.

The boundaries are where a hand-rolled implementation breaks. Column 26 is Z and 27 is AA; 52 is AZ and 53 is BA; 702 is ZZ and 703 is AAA. Any function that gets 26 or 702 wrong will still look correct on the dozens of values either side, which is why those exact numbers are worth testing against.

The practical ceiling is 16,384 columns, or XFD, which is where Excel stops and has since 2007. Google Sheets allows more in a single sheet but counts cells rather than columns, so the limit you meet first depends on how many rows you have.

The 0-based mode exists because most libraries index columns from zero while the application labels them from one, and that mismatch is where a script silently writes to the wrong column. If you are generating a formula, use the 1-based answer; if you are indexing an array of parsed cells, use the other.

Frequently asked questions

Why isn't AA = 26?

Because there's no zero digit. The pattern is A=1, …, Z=26, AA=27, AB=28, …, AZ=52, BA=53, etc. That's bijective base-26 — every positive integer has a unique letter representation and vice versa.

Does Excel really have a column limit?

Yes: 16384 columns (XFD) in modern Excel. Google Sheets caps at 18278 columns (ZZZ). Both are well above what this tool can produce.

What is R1C1 notation for?

It names a cell by row and column number instead of a letter and a number, and writes relative references as offsets like R[-1]C. A formula in that form reads the same wherever it is copied, which makes it much easier to generate formulas from code or to compare two formulas that sit in different cells.

Why did my column letters shift after inserting a column?

A letter is a position, not an identity. Inserting a column renames every column to its right, so a note, macro or piece of documentation that refers to column K afterwards points at different data — silently, because nothing about the reference looks broken. Header names and named ranges survive an insertion; letters do not.

Related tools