Source: https://ai-sdk.dev/docs/reference/ai-sdk-core/create-id-generator
AI SDK
Menu
v5 (Latest)
AI SDK 5.x
AI SDK by Vercel
AI SDK 6 Beta
Foundations
Overview
Providers and Models
Prompts
Tools
Streaming
Getting Started
Navigating the Library
Next.js App Router
Next.js Pages Router
Svelte
Vue.js (Nuxt)
Node.js
Expo
Agents
Agents
Building Agents
Workflow Patterns
Loop Control
AI SDK Core
Overview
Generating Text
Generating Structured Data
Tool Calling
Model Context Protocol (MCP) Tools
Prompt Engineering
Settings
Embeddings
Image Generation
Transcription
Speech
Language Model Middleware
Provider & Model Management
Error Handling
Testing
Telemetry
AI SDK UI
Overview
Chatbot
Chatbot Message Persistence
Chatbot Resume Streams
Chatbot Tool Usage
Generative User Interfaces
Completion
Object Generation
Streaming Custom Data
Error Handling
Transport
Reading UIMessage Streams
Message Metadata
Stream Protocols
AI SDK RSC
Advanced
Reference
AI SDK Core
generateText
streamText
generateObject
streamObject
embed
embedMany
generateImage
transcribe
generateSpeech
tool
dynamicTool
experimental_createMCPClient
Experimental_StdioMCPTransport
jsonSchema
zodSchema
valibotSchema
ModelMessage
UIMessage
validateUIMessages
safeValidateUIMessages
createProviderRegistry
customProvider
cosineSimilarity
wrapLanguageModel
LanguageModelV2Middleware
extractReasoningMiddleware
simulateStreamingMiddleware
defaultSettingsMiddleware
stepCountIs
hasToolCall
simulateReadableStream
smoothStream
generateId
createIdGenerator
AI SDK UI
AI SDK RSC
Stream Helpers
AI SDK Errors
Migration Guides
Troubleshooting
Copy markdown
createIdGenerator()
=============================================================================================================
Creates a customizable ID generator function. You can configure the alphabet, prefix, separator, and default size of the generated IDs.
import { createIdGenerator } from 'ai';
const generateCustomId = createIdGenerator({ prefix: 'user', separator: '_',});
const id = generateCustomId(); // Example: "user_1a2b3c4d5e6f7g8h"
Import
import { createIdGenerator } from "ai"
API Signature
options:
object
Optional configuration object with the following properties:
options.alphabet:
string
The characters to use for generating the random part of the ID. Defaults to alphanumeric characters (0-9, A-Z, a-z).
options.prefix:
string
A string to prepend to all generated IDs. Defaults to none.
options.separator:
string
The character(s) to use between the prefix and the random part. Defaults to "-".
options.size:
number
The default length of the random part of the ID. Defaults to 16.
Returns a function that generates IDs based on the configured options.
- The generator uses non-secure random generation and should not be used for security-critical purposes.
- The separator character must not be part of the alphabet to ensure reliable prefix checking.
Example
// Create a custom ID generator for user IDsconst generateUserId = createIdGenerator({ prefix: 'user', separator: '_', size: 8,});
// Generate IDsconst id1 = generateUserId(); // e.g., "user_1a2b3c4d"
See also
On this page
createIdGenerator()
Import
API Signature
Parameters
Returns
Notes
Example
See also
Deploy and Scale AI Apps with Vercel.
Vercel delivers the infrastructure and developer experience you need to ship reliable AI-powered applications at scale.
Trusted by industry leaders:
Talk to an expert