How to Stop Google Sheets from Removing Leading Zeros

If you've ever typed 007, 00123, or a zip code like 07030 into Google Sheets and watched it instantly collapse to 7, 123, or 7030 — you're not dealing with a bug. You're dealing with how spreadsheets are designed to work by default. Understanding why this happens is the first step to knowing which fix actually suits your situation.

Why Google Sheets Drops Zeros in the First Place

Google Sheets, like all spreadsheet applications, treats cell entries as either numbers or text. When it detects that what you've typed looks like a number, it applies numeric formatting — and numbers, mathematically speaking, don't have leading zeros. 007 and 7 are the same value, so Sheets stores 7.

This behavior is intentional and useful when you're doing math. The problem arises when your data looks like a number but isn't really numeric — things like:

  • ZIP codes (07030)
  • Phone numbers (0800 123 456)
  • Employee or product IDs (00142)
  • Codes with structured leading zeros (001, 002, 003)

For these use cases, the default behavior works against you.

Method 1: Format the Cell as Plain Text Before Typing

The most reliable prevention method is changing the cell format to Plain Textbefore you enter the value.

How to do it:

  1. Select the cell or range you want to protect.
  2. Go to Format → Number → Plain text.
  3. Now type your value — 007 stays 007.

⚠️ One important nuance: if you format after typing, the damage is already done. The zero was discarded when you pressed Enter. Format first, then type.

This method works well for entire columns of IDs, codes, or zip codes where you know the data type upfront.

Method 2: Use an Apostrophe Prefix

A quick workaround — especially when you're editing a single cell — is to type an apostrophe before the value:

'007 

The apostrophe tells Sheets to treat the entry as text. It won't appear in the cell display or in printouts. You'll see a small green triangle in the corner indicating the cell contains a "text-formatted number," but the value displays correctly.

This is a fast fix for one-off entries but isn't practical when importing data or filling large ranges.

Method 3: Apply a Custom Number Format

Sometimes you do want the cell to behave like a number — participating in sorting, calculations, or conditional formatting — but you also need it to display with leading zeros. Custom number formatting handles this case.

How to apply it:

  1. Select your cells.
  2. Go to Format → Number → Custom number format.
  3. Enter a format code like 000000 (for a 6-digit display with leading zeros).

With this format, entering 42 displays as 000042. The underlying value is still 42, so math still works. This is ideal for inventory codes, serial numbers, or any field where the zero-padded display is a visual or standardization requirement rather than a data requirement.

Use CaseBest Method
ZIP codes, phone numbersPlain Text format
Single quick entryApostrophe prefix
Numeric IDs needing display paddingCustom number format
Imported CSV dataPlain Text on column before import

Method 4: Handling Imported Data (CSV and Paste)

This is where many users get tripped up. If you're importing a CSV or pasting data from another source, Sheets auto-detects the column types — and leading zeros often vanish before you can intervene.

To prevent this during import:

  • Use File → Import and choose the option to specify column types manually. Set affected columns to Plain text in the import dialog.
  • If pasting, pre-format the destination column as Plain Text before pasting. Use Paste Special → Paste values only to avoid overriding formatting.

For data already imported with zeros stripped, you can restore a fixed-width display using a formula like =TEXT(A1,"000000") in a helper column — but be aware this creates a text string, not the original value, and won't restore zeros that were structurally meaningful.

The TEXT Function as a Display Tool 🔢

The TEXT() function converts a number to a formatted text string:

=TEXT(A1, "00000") 

This is useful when you're pulling data from one column and displaying it formatted in another. It doesn't edit the source — it creates a formatted representation. Good for reports or when your source data must stay numeric.

Variables That Affect Which Method Works for You

The right approach depends on several factors that vary by workflow:

  • How the data enters the sheet — manual typing, paste, CSV import, or API feed all behave differently.
  • Whether the zeros are structural or cosmetic — a zip code is07030; a sales figure displaying as 00420 is still 420 with padding.
  • Whether you need the column to support calculations — plain text cells won't participate in SUM() or numeric sorting the way you'd expect.
  • How many cells are affected — a single cell, a column, or an entire imported dataset each call for a different workflow.
  • Whether collaborators are editing the sheet — formatting instructions that work for you may be overridden by others if column formats aren't locked or documented.

Each of these factors shifts which method holds up over time, especially in shared or regularly updated sheets.