Need help with go.uuid?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

4.2K Stars 542 Forks MIT License 148 Commits 37 Opened issues


UUID package for Go

Services available


Need anything else?

Contributors list

UUID package for Go language

Build Status Coverage Status GoDoc

This package provides pure Go implementation of Universally Unique Identifier (UUID). Supported both creation and parsing of UUIDs.

With 100% test coverage and benchmarks out of box.

Supported versions: * Version 1, based on timestamp and MAC address (RFC 4122) * Version 2, based on timestamp, MAC address and POSIX UID/GID (DCE 1.1) * Version 3, based on MD5 hashing (RFC 4122) * Version 4, based on random numbers (RFC 4122) * Version 5, based on SHA-1 hashing (RFC 4122)


Use the

$ go get


UUID package tested against Go >= 1.6.


package main

import ( "fmt" "" )

func main() { // Creating UUID Version 4 // panic on error u1 := uuid.Must(uuid.NewV4()) fmt.Printf("UUIDv4: %s\n", u1)

// or error handling
u2, err := uuid.NewV4()
if err != nil {
    fmt.Printf("Something went wrong: %s", err)
fmt.Printf("UUIDv4: %s\n", u2)

// Parsing UUID from string input
u2, err := uuid.FromString("6ba7b810-9dad-11d1-80b4-00c04fd430c8")
if err != nil {
    fmt.Printf("Something went wrong: %s", err)
fmt.Printf("Successfully parsed: %s", u2)



Documentation is hosted at GoDoc project.



Copyright (C) 2013-2018 by Maxim Bublis [email protected].

UUID package released under MIT License. See LICENSE for details.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.