UUID type for Dart 2

Build Status Pub GitHub

This package provides implementation of Universally Unique Identifier (UUID) for Dart, and supports generation, parsing and formatting of UUIDs.


  • x Creates UUID from string and byte-array, as well as GUID and URN strings
  • x Provides access to variant, version and byte data of UUID
  • x Generates RFC4122 time-based v1, random-based v4, and name & namespace based v5 UUIDs
  • x Implements Comparable for UUID comparison and lexicographical sorting
  • x Runs on Dart VM and in browser

RFC 4122 Version support:

  • x v1, based on timestamp and MAC address (RFC 4122)
  • v2, based on timestamp, MAC address and POSIX UID/GID (DCE 1.1) Not planned
  • v3, based on MD5 hashing (RFC 4122) Not planned
  • x v4, based on random numbers (RFC 4122)
  • x v5, based on SHA-1 hashing (RFC 4122)


  • Dart 2 (tested with >=2.0.0). Should also work with Dart 1.24, but not tested.
  • crypto package to generate name based UUIDs

Getting Started


  1. Add an entry in your pubspec.yaml for uuid_type
  uuid_type: ^1.0.0
  1. Run pub get (flutter packages get for Flutter)
  2. Import
import 'package:uuid_type/uuid_type.dart';