# makeup-next-id

> Assign the next id in sequence to an element, if an id property does not already exist.

Latest version **0.6.0** (published 2026-03-31) · MIT license · 0 weekly downloads

## Install

```sh
npm install makeup-next-id
pnpm add makeup-next-id
yarn add makeup-next-id
bun add makeup-next-id
```

## Health

**Score 60/100 (C)** — status: stable.

Positive: has types; esm support; no vulnerabilities; high maintenance score.

Warnings: low downloads; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.6.0 |
| Published | 2026-03-31 |
| First published | 2017-11-10 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 5.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 47 |
| Author | Ian McBurnie |
| Maintainers | dylanpiercey, sendlo, ianmcburnie, agliga, saiponnada, artblue, lulavalva |
| Keywords | makeup, ebay, accessibility, a11y |

## Links

- npm: https://www.npmjs.com/package/makeup-next-id
- Repository: https://github.com/makeup/makeup-js.git#master
- Homepage: https://github.com/makeup/makeup-js/tree/master#readme
- Issues: https://github.com/makeup/makeup-js/issues
- npm.io page: https://npm.io/package/makeup-next-id

## Recent versions

- 0.6.0 (latest) — 2026-03-31
- 0.5.8 — 2026-01-14
- 0.5.7 — 2025-08-19
- 0.5.6 — 2025-08-13
- 0.5.5 — 2025-04-22
- 0.5.4 — 2025-04-04
- 0.5.3 — 2024-12-20
- 0.5.2 — 2024-10-24
- 0.5.1 — 2024-09-03
- 0.5.0 — 2024-06-23
- 0.4.2 — 2024-06-17
- 0.4.1 — 2022-11-26
- 0.4.0 — 2022-02-02
- 0.3.0 — 2022-01-26
- 0.2.0 — 2021-07-10
- … 7 more at https://npm.io/package/makeup-next-id/versions

## README

# makeup-next-id

Assigns the next id in sequence to an element, if an id property does not already exist.

The id will consist of a configurable prefix (default: 'nid'), followed by three randomly generated chars, then a number in sequence. For example: `nid-sdv-1`, `nid-sdv-2`, `nid-sdv-3`, etc.

## Experimental

This module is still in an experimental state, until it reaches v1 you must consider all minor releases as breaking changes.

## Example

```js
// import the module
import nextId from "makeup-next-id";

// get NodeList
const widgetEls = document.querySelectorAll(".widget");

// assign next id to each element
widgetEls.forEach((el) => nextId(el));
```

Markup before:

```html
<div class="widget"></div>
<div class="widget"></div>
<div class="widget"></div>
```

Markup after:

```html
<div class="widget" id="nid-sdv-0"></div>
<div class="widget" id="nid-sdv-1"></div>
<div class="widget" id="nid-sdv-2"></div>
```

## Custom Events

- None

## Polyfills

- None

---
_Source: https://npm.io/package/makeup-next-id · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
