Understanding the Unique Identifier Formats
When generating unique identifiers, selecting the correct format depends on your specific requirements for randomness, sorting, and structure. This tool supports four distinct identifier formats:
- UUID v4: This format consists of 122 bits of randomness structured within a 36-character format. It provides pure randomness without any inherent ordering, making the identifiers unguessable.
- UUID v7: This is a 36-character format that starts with a millisecond timestamp. Because it leads with a timestamp, it is sortable roughly by creation time, which is highly beneficial for database indexing and primary keys.
- ULID: A Universally Unique Lexicographically Sortable Identifier is a 26-character, case-insensitive string that starts with a timestamp. Like UUID v7, it offers time-based sorting but does so in a more compact text form.
- NanoID: A compact, non-ordered identifier with a default length of 21 characters. It is fully customizable, allowing you to adjust both its length and the character set used to generate it.
Configuring Your Identifier Generation
The generator provides several inputs to customize your identifiers based on the selected format:
- Format: A selection menu where you choose between UUID v4, UUID v7, ULID, or NanoID.
- Count: A numeric input allowing you to generate between 1 and 100 IDs at a time.
- Uppercase: A toggle switch specifically for UUIDs to display the output characters in uppercase.
- Include hyphens: A toggle switch for UUIDs to determine whether the output includes hyphens.
- Length: A slider dedicated to NanoID that adjusts the identifier length between 2 and 36 characters, defaulting to 21.
- Alphabet: An editable text field for NanoID that lets you customize the exact characters used to build the identifier.
Any change to these options will instantly regenerate the list of IDs.
Rules, Constraints, and Edge Cases
To ensure valid identifier generation, the tool enforces specific structural rules and handles edge cases automatically:
- NanoID Alphabet Constraint: The custom alphabet for a NanoID must contain at least 2 different characters. If you edit the alphabet field and reduce it to a single character, the tool displays the error message "Alphabet needs at least 2 different characters.". When this error occurs, the generated results are cleared, the ID count resets to 0, and the "Copy all" button is disabled.
- Sorting Limitations: While UUID v7 and ULID are sortable by creation time, they do not guarantee strict ordering for identifiers that are generated within the exact same millisecond.
- Generation Limits: The tool enforces a strict quantity limit, generating a minimum of 1 and a maximum of 100 IDs per request.
Managing and Copying Your Generated IDs
Once your identifiers are created, the interface displays them in a list under the label "Generated IDs". The tool provides real-time status updates and simple copying mechanisms:
- Status Messages: The tool displays "Ready." when it is prepared for input. Once identifiers are created, the status changes to "Generated.".
- Copying Individual IDs: You can click any individual identifier in the list to copy it directly to your clipboard.
- Copying All IDs: Clicking the "Copy all" button copies the entire list of generated identifiers at once, updating the status message to "Copied all!".
- ID Counter: The interface displays the exact number of active identifiers next to the label "IDs".
Local Browser Privacy and Security
Your privacy is preserved during the generation process. All identifiers are generated locally within your browser using strong browser randomness. No data, parameters, or generated identifiers are ever sent to BroBroGo.
Who Needs This Tool?
This generator is designed for a variety of technical roles and use cases:
- Developers who require unique, unguessable identifiers for applications, session management, or testing.
- Database Administrators looking for primary keys, such as UUID v7 or ULID, that sort by creation time to optimize database indexing and performance.
- Security Professionals and system architects who need random, cryptographically strong identifiers for secure data management.
- Users who require highly customized identifiers and need to control the exact length and character set of their tokens.
Frequently Asked Questions
What's the difference between UUID v4, UUID v7, ULID, and NanoID?
UUID v4 is 122 bits of pure randomness in the familiar 36-character format, but its random order makes for poor database index locality. UUID v7 keeps that same shape while leading with a millisecond timestamp, so IDs sort roughly by creation time — handy for primary keys. ULID does the same time-first trick in a shorter, case-insensitive 26-character string. NanoID skips ordering altogether for a much smaller, fully customizable ID — you choose the length and character set.
Are these IDs random enough to be unguessable?
Yes — every ID is generated with cryptographically strong browser randomness, not a predictable source. UUID v4 and NanoID's default alphabet carry well over 100 bits of randomness. UUID v7 and ULID trade about 48 of those bits for a leading timestamp, so treat the timestamp-prefixed formats as sortable IDs rather than secrets.
Can I change NanoID's length and character set?
Yes — switch to NanoID and this tool exposes a length slider (21 characters by default, matching the library) plus an editable alphabet field. Shrinking the length or narrowing the alphabet trades away collision resistance, so keep the length up if you cut the character set down.