A UUID tool you can host yourself
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#
docker run --rm -p 8080:8080 bavix/uuid-ui
# or from the GitHub registry
docker run --rm -p 8080:8080 ghcr.io/bavix/uuid-uiThe 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#
| Step | Where it happens |
|---|---|
| Parsing what you paste | your browser |
| Converting between formats | your browser |
| Generating v1, v4, v6, v7 and name-based identifiers | your browser |
| History of what you converted | your browser storage, until you clear it |
| Anything sent to a server | nothing |
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.
Related#
Browse the reference
Start here
Making and converting in bulk
Converting a UUID
Reading one
The versions, in order
In a database
ULID and the alternatives
Running the tool