Skip to content

Generate Universally Unique 'Lexicographically' 'Sortable' Identifiers

0packages dependsuggested by 1
29.6Kdownloads / year
100.0%test coverage
13/13flavors OK

Overview

About

Universally unique identifiers ('UUIDs') can be sub-optimal for many uses-cases because they are not the most character efficient way of encoding 128 bits of randomness; v1/v2 versions are impractical in many environments, as they require access to a unique, stable MAC address; v3/v5 versions require a unique seed and produce randomly distributed IDs, which can cause fragmentation in many data structures; v4 provides no other information than randomness which can cause fragmentation in many data structures. Providing an alternative, 'ULIDs' (https://github.com/ulid/spec) have 128-bit compatibility with 'UUID', 1.21e+24 unique 'ULIDs' per millisecond, support standard (text) sorting, canonically encoded as a 26 character string, as opposed to the 36 character 'UUID', use 'base32' encoding for better efficiency and readability (5 bits per character), are case insensitive, have no special characters (i.e. are 'URL' safe) and have a monotonic sort order (correctly detects and handles the same millisecond).

Changes in 0.4.0
  • Switch two functions to fork by Chris Bove using std::chrono instead of time_t for consistent millisecond resolution (3 fixing 2)
  • Updated documentation showing consistent millisecond functionality
  • Added unit tests for millisecond functionality

From inst/NEWS.Rd in the release

Install

Health

CRAN checks
13OK
Slowest check: 2.4 min · r-devel-windows-x86_64
Status changes
  • OK13 OK2026-08-04
  • NOTE12 OK, 1 NOTE2026-08-01
  • OK14 OK2026-04-22
  • ERROR13 OK, 1 ERROR2026-04-18
  • OK14 OK2026-03-10
Advisories

none known

Documentation

In release 0.4.0
README· In the repository, left out of the releaseVignettesNoNEWSYes · mentions 0.4.0Citation fileNo
Help pages
1includes a package overview page
Examples that run
100%1 run in a plain check
Exported functions with examples
100%
Documented parameters
100%
Return-value docs
100%
Help pages citing references
0%

Downloads

29.6K
CRAN downloads in the past year
Rank #2,506 · ~81/day · ~2.5K/mo
Daily download trend is not available in this view yet.
2.2K30 days
6.5K90 days
29.6K1 year
Compare downloads with other packages →
Also on345 r2u3 autocran

Repository

32Stars
2Forks
0Open issues
0Open PRs
3Releases
29Commits
2Commit identities
rrstatsuliduuid
29 commits · Last activity 2026-07-27 · 0% stars, 30d · Default branch at 0.4.0.2, ahead of CRAN 0.4.0 (checked 2026-10-21)
Responsiveness
How these are sampled
PRs merged (all time)
100%
Median days to close, 50 most recently updated closed issues
4
Median days to close, 50 most recently updated closed PRs
2

Stars over time

2025-04-02 · 282026-07-07 · 32
PracticesBeta

4 development-tooling and community-health practices detected across 4 families in the upstream repository

Checks run against github.com/eddelbuettel/ulid on 2026-10-21.

Continuous integration (1)
GitHub Actions
Governance and community (1)

The repository owner accepts GitHub Sponsors

Docs source (1)

GitHub Pages site last deployed 2026-07-27

Lint, format, editor (1)
EditorConfig
How this is detected·Detection ruleset v4 (2026-10-20)

Dependencies

Declared dependencies
3 external dependencies (excludes base and recommended)

Installing ulid adds 1 package (1 with compiled code, 1.8 MB of source tarballs). Heaviest: Rcpp 1.8 MB.

Depends (0)
none
Imports (1)
LinkingTo (1)
Suggests (1)
Enhances (0)
none
Reverse dependencies
0direct
0indirect
Suggested by 1
Suggests, most downloaded first

People & History

People (3)
Maintainer since 0.3.1 (2024) · added in 0.3.1
Author
Author · added in 0.3.1
ULID C++ <https://github.com/suyash/ulid/>

Previously maintained by Bob Rudis (0.3.0).

Listed in earlier versions (1)
suyash
no longer listed · 0.3.0
Releases (3)

Pick two releases to compare their code metrics.

  • R
    R 4.6.0 released · 2026-04-24
  • R
    R 4.5.0 released · 2025-04-11
  • 0.4.0Latest
    record
    2024-06-04 · current release · diff ↗
  • R
    R 4.4.0 released · 2024-04-24
  • unarchivedReturned to CRAN
    2024-04-02
  • 0.3.1
    record
    2024-04-02 · diff ↗ ·
    added 1 export
    ulid
  • archivedRemoved from CRAN
    2024-03-24
    issues were not corrected despite reminders
  • R
    R 4.3.0 released · 2023-04-21
  • R
    R 4.2.0 released · 2022-04-22
  • R
    R 4.1.0 released · 2021-05-18
  • R
    R 4.0.0 released · 2020-04-24
  • 0.3.0
    record
    2019-07-09
  • R
    R 3.6.0 released · 2019-04-26

Package metadata

First published
2019-07-09
Total releases
3 / 7 yrs
License
MIT + file LICENSE OSI
Download size
13 KB

Cite

Cite this package

Run in R for the authors' preferred citation:

citation("ulid")
Eddelbuettel, D., Rudis, B., & Verma, S. (2024). ulid: Generate Universally Unique 'Lexicographically' 'Sortable' Identifiers (Version 0.4.0) [Computer software]. https://doi.org/10.32614/CRAN.package.ulid

This package has no citation file, so citation() returns this entry built from DESCRIPTION.

Cite the R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA

Balamuta, J. J. (2026). R Observatory: Metrics for ulid version 0.4.0 [Data set]. HJJB, LLC. Data release v2026-10-24. https://doi.org/10.5281/zenodo.21843040

From data release v2026-10-24, which the citation names so these numbers can be found later. More on citing and the projects behind them.

Report a problem with this page →

Privacy choices

These apply to this browser and are stored on this device only. Nothing about your choice is sent to us.

Read the privacy policy