Generates IDs like: cus_01EPEY1JMKXVBT and txn_01EPEY2P06TR1RTV07XA82ZGJJ. Includes Ecto type.



Issues MIT License


User Experience focused Identifiers

Report Bug / Request Feature

Table of Contents

About The Project

UXIDs are identifiers which:

  • describe the resource (to help in debugging and investigation)
  • work well with copy and paste (double clicking should select the entire ID)
  • can be shortened for low cardinality resources
  • are very unlikely to collide
  • are secure against enumeration attacks
  • can be generated by application code (not tied to the datastore)
  • are K-sortable (lexicographically sortable by time - works well with datastore indexing)
  • do not require any coordination (human or automated) at startup, or generation

Getting Started

To get a local copy up and running follow these simple steps.


  1. Clone and cd into the repo
git clone
cd uxid
  1. Install dependencies and setup the development environment


See the open issues for a list of proposed features (and known issues).


Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Adds some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

See the Contribution Guidelines for more information


Distributed under the MIT License. See LICENSE for more information.


JohnnyT - @johnny_t

Project Link:


  • ULID Universally Unique Lexicographically Sortable Identifier.