# Prefix an integer with zeros

Pad a non-negative integer to a given width.

Canonical: https://1loc.dev/number/prefix-an-integer-with-zeros/
Version: 1.0.0
Runtime: JavaScript · Node.js 22 / modern browsers
Verification: Local fixtures; no external services
Updated: 2026-10-28

## Implementation

```javascript
function prefixWithZeros({ n, length }) { return String(n).padStart(length, '0'); }
```

## Input

```json
{
  "n": 42,
  "length": 5
}
```

## Expected output

```json
"00042"
```

## Edge case

Input:
```json
{
  "n": 12345,
  "length": 3
}
```
Output:
```json
"12345"
```

## Limits

- Longer numbers are never cut, as the edge case shows. The original toFixed variant broke for numbers with as many digits as the width.

The lab validates types and size before calling this function. Add equivalent validation at your own trust boundary.

## Source and license

Original: https://github.com/phuocng/1loc/blob/14b481cf60dff1620ab1bb99a43b1f68068cdd9b/contents/prefix-an-integer-with-zeros.mdx
Author: Nguyen Huu Phuoc and original contributors
Contributors: VincentRoth
Source commit: 14b481cf60dff1620ab1bb99a43b1f68068cdd9b
Copyright (c) 2020 phuoc-ng
License: MIT — https://1loc.dev/licenses/
Maintainer: Oveyon
Modifications: Uses padStart; the original toFixed variant broke when the number had as many digits as the width. Original MDX retained as inert source evidence.
