JSON to C# Class
Generate C# classes with System.Text.Json attributes from a JSON sample.
Generate ULIDs — sortable by creation time and case-insensitive.
The ULID Generator produces 26-character identifiers that sort by creation time, and decodes existing ones back to the millisecond they were made. Crockford’s alphabet keeps them case-insensitive and unambiguous.
A ULID is 26 characters: 48 bits of millisecond timestamp followed by 80 random bits, written in Crockford's base32. Because the time comes first and the encoding preserves order, sorting ULIDs as strings sorts them by creation time.
That is the whole reason to prefer one to a UUID v4. Random primary keys scatter inserts across a B-tree index and fragment it; time-ordered keys append, which is dramatically faster on a large table. Crockford's alphabet also excludes I, L, O and U, so a ULID is safe to read aloud and case-insensitive to type. The decoder works the other way, pulling the creation time back out of an existing ULID.
The timestamp leads the value, so sorting as text sorts by when each id was made — which is what saves a B-tree index from fragmenting.
Paste an existing ULID to read the exact millisecond it was created and see its random half.
Crockford’s base32 leaves out I, L, O and U, so a ULID is safe to read aloud and case-insensitive to type back.
Generate ids for a specific moment, which is how you seed historical fixtures that still sort correctly.
A ULID reveals its creation time to the millisecond, and the page says so before you expose one publicly.
One at a time or up to a thousand; each carries the moment it was made.
Generated in bulk they come out in ascending order, because the timestamp leads.
Paste one to read its embedded timestamp and random half.
Take them to your clipboard or save them as a text file.
Because it sorts by creation time. Random keys fragment a database index; time-ordered ones append cleanly, which is a large difference on a table with millions of rows.
They solve the same problem the same way. UUID v7 is now a standard and fits anywhere a UUID column already exists; ULID is shorter and case-insensitive. Pick UUID v7 for new work unless the 26-character form matters.
Yes, to the millisecond. That is the feature, but it is also information — do not use ULIDs as public identifiers if creation time is sensitive.
Not reliably here. The specification describes a monotonic mode that increments the random part within a millisecond; this generator produces fresh randomness each time, which is what most libraries do by default.
What people who use the ULID Generator think of it. Reviews come from visitors and are posted as written.
No ratings yet
Yours would be the first.
0 reviews
Newest first
No reviews yet
Be the first to rate the ULID Generator. It takes half a minute and no account.
Write the first reviewGenerate C# classes with System.Text.Json attributes from a JSON sample.
Reveal tabs, non-breaking spaces and zero-width characters in your text.
Describe a shape and get as many rows of matching JSON as you need.
Collapse nested JSON into one flat level of dot-notation or bracket keys.
Build a cron schedule from controls and see the next times it runs.
Network, broadcast and host range from any CIDR block.
Generate a CI workflow with caching, a version matrix and the right permissions.
Read a cron expression in plain English and see when it next runs.