A UUID tool you can host yourself

UUID text7 sectionsUpdated

Every conversion on this site happens in the browser, and the whole site is a static bundle you can run yourself with one docker command. Identifiers never reach a server, because there is no server to reach.

Production identifiers are production data. Pasting them into a site that converts them server-side means shipping them to somebody else, and most online UUID tools do exactly that. This one does not, and you do not have to take that on trust: the source is public and the whole thing runs on your own machine.

Open the converter: UUID textNothing you paste leaves the browser.

On this page (7)

Run it#

shell
docker run --rm -p 8080:8080 bavix/uuid-ui

# or from the GitHub registry
docker run --rm -p 8080:8080 ghcr.io/bavix/uuid-ui

The image is a Go binary with the static site embedded in it: no database, no cache, no outbound connections, nothing to configure but the port. It serves the same files this site is built from, so the self-hosted copy and the public one are the same tool.

What "client-side" means here#

StepWhere it happens
Parsing what you pasteyour browser
Converting between formatsyour browser
Generating v1, v4, v6, v7 and name-based identifiersyour browser
History of what you convertedyour browser storage, until you clear it
Anything sent to a servernothing

Working offline#

Because the conversion is local, the tool keeps working when the network does not: an air-gapped workstation, a VPN-only network, a plane. Load it once, or run the image on the machine itself, and it behaves identically. The reference pages behave the same way, with one extra file for the playground and nothing else.

What it does that a one-off page does not#

Conversion between UUID text, Base64, hex, byte arrays, a high/low 64-bit pair, four 32-bit words and ULIDs, in both directions and in bulk: paste a whole column of identifiers and every line is converted at once. Alongside that, generation of v1, v4, v6, v7, name-based v3 and v5, and the Nil and Max constants, plus a decoder that reads the version, the variant, the timestamp and the bit layout.

RFC 9562 § 6.10 · UUIDs That Do Not Identify the HostWhy identifiers that embed a MAC address deserve care about where they are processed

The source#

The repository is public under the MIT licence, the site is a static bundle, and the server is 104 lines of Go whose only job is to serve embedded files with a few cache headers. There is not much room in it for a surprise, and you are welcome to check.

Questions people actually ask#

Do the UUIDs I paste get sent anywhere?

No. Parsing, conversion and generation all run in the browser. The self-hosted image has no backend to send them to.

Can I run this inside a private network?

Yes. docker run -p 8080:8080 bavix/uuid-ui serves the whole tool from a single static image with no outbound dependencies.

Does it work without an internet connection?

Yes. Once the page is loaded, or once the image is running locally, every feature works offline.

Browse the reference