Nanoid Generator Online — URL-Safe Compact IDs
Generate Nanoid-style IDs with CSPRNG in your browser. Adjust size (2–64) with quick presets, pick an alphabet (URL-safe, alphanumeric, numeric, no-look-alike, or custom), and generate up to 50 IDs at once.
NanoID vs UUID
NanoID solves the same problem as a UUID—unique IDs—but trades the fixed 128-bit RFC shape for a shorter, URL-safe string. The default alphabet uses 64 URL-friendly characters; you set length with the slider (2–64) or preset chips, and you can switch to numeric, alphanumeric, no-look-alike, or a custom charset (at least two unique symbols after deduplication). Shorter IDs are easier to copy but raise collision risk as volume grows; there is no universal “best” length—match your storage format and entropy budget. Generation uses rejection sampling with crypto.getRandomValues in the browser. When you need standard UUID v4/v7 or time-sortable ULIDs, use the UUID generator or ULID generator.
How generation works
Set size with the slider (2–64) or quick presets, pick an alphabet (including custom or no-look-alike), and choose count up to 50 — the list fills immediately and refreshes when you change an option. Live generation uses rejection sampling + crypto.getRandomValues — never Math.random. Copy per line, copy all, or download .txt.
Options
- Size (2–64)
- Longer IDs reduce collisions. Use the slider for any length 2–64, or click a preset chip (8/12/16/21/32) as a shortcut.
- Alphabet
- url = A–Z a–z 0–9 _- (Nanoid default). alphanumeric = without _-. numeric = digits only. no-look-alike removes ambiguous glyphs (0, O, o, I, l, 1). custom lets you paste your own charset.
- Count (1–50)
- Multiple IDs for fixtures, capped at 50.
- Custom alphabet
- Paste any string (max 256 characters raw length). At least 2 unique characters after deduplication are required. The entropy tooltip uses the resolved alphabet size.
Examples
Default URL-safe
Settings
Output
Short numeric
Settings
Output
Related utilities
Need UUIDs? See the UUID generator. For time-sortable IDs, the ULID generator.
Nanoid generator FAQ
Compact IDs
Can I type a custom size?
Yes — use the slider or number field for any length from 2 to 64. Preset chips are shortcuts only.
Custom alphabet?
Yes — select Custom and paste your charset (max 256 characters, at least 2 unique symbols). Emoji and other Unicode code points are supported; grapheme clusters spanning multiple code points are not segmented.
Is data uploaded?
No — local generation only.
Why not the npm nanoid package?
A small implementation aligned with the password-generator CSPRNG pattern, with no npm dependency.
What length should I choose?
Longer IDs reduce collision probability. The default URL-safe preset uses 21 characters (a common NanoID default); use the slider for any length from 2 to 64, or pick a chip (8/12/16/21/32) as a shortcut. Numeric-only alphabets need more characters than mixed alphabets for similar entropy.
Developer utilities
Timestamps, UUID, ULID, Nanoid, cron, passwords, regex, slugify, number bases, case, text diff, and chmod — all client-side.
Explore other tool categories
- Minify
Shrink code and assets for production — minify JavaScript, CSS, HTML, JSON and XML before gzip or CDN deploy.
- Unminify
Expand minified or compressed code — unminify JavaScript, CSS, TypeScript, SCSS, LESS, SQL, YAML and other formats when debugging or reviewing.
- Conversion
Transform data between JSON, YAML, XML and CSV locally — no server uploads.
- Encoding
Encode or decode Base64, URL components and HTML entities — client-side only.
- Serialization
Serialize and deserialize PHP data structures beside JSON workflows.
- JSON Tools
Validate, format, diff and explore JSON payloads — complementary to minifiers and converters.
- SVG Tools
Preview, optimize with SVGO, export Data URI, resize, beautify, convert to JSX and validate SVG — all in your browser.
- Beautify
Make code readable with consistent indentation — beautify JavaScript, CSS, TypeScript, SCSS, LESS, Markdown, GraphQL, SQL, YAML and more in your browser.
- CSS preprocessors
Compile SCSS or LESS to standard CSS in the browser — pair with beautify or minify for a full stylesheet workflow.
- Color & CSS Tools
Paste-local WCAG contrast checking with modern CSS color syntax — pair and matrix views, never uploaded.
- DevOps & Infra
Terraform HCL format/validate/minify, Dockerfile format & lint, Docker Compose and .env validation.
- CI/CD
GitHub Actions and GitLab CI — format YAML and check workflow/job structure in your browser.
- Logs & observability
Line-oriented JSON/NDJSON and Nginx/Apache access logs — format, filter, validate, and CSV/TSV.
- Kubernetes
Multi-doc manifests, structural validate, Ingress/Deployment starters, and Helm values formatting.
- Networking / IP
CIDR, subnets, and IPv4/IPv6 helpers — in your browser.
- Security & tokens
JWKS, X.509 certificates, and secrets scan — browser-local.
- API & schemas
OpenAPI tools to format, validate, and lint your specs.
- HTTP Tools
Paste-local cURL, HTTP messages, URLs, HAR files, and Cookie / Set-Cookie headers — format and inspect in your browser, never sent.
- SEO / Web Tools
Generate meta tags, Open Graph, and Twitter Card output locally — previews simulated from your inputs, never fetched from your live site.
- Text & Markdown
Count words, build Markdown TOCs, and clean line lists — all in your browser.
- AI & LLM
Token counting, pricing estimates, and context-window fit — 100% browser-local.
- Test Data
Synthetic field values for fixtures and DB seed — reserved-range phone numbers first.
- Barcode labels
Draw Code 128, EAN-13, and UPC-A label images in the browser — PNG and SVG download, not a GS1 lookup.