# Uuid v3 generate

`uuid-v3-generate` · version 1.0.0 · Identifiers & check digits · free, no key needed

Generate deterministic RFC 9562 UUIDv3 values from a namespace and UTF-8 name.

**Use when you need to: generate uuid v3 from namespace · deterministic name based uuid v3 · uuid v3 dns namespace generation.**

## Decide before calling

Read the [versioned contract](/v1/tools/uuid-v3-generate/versions/1.0.0) and the supported scope below. Reuse `uuid-v3-generate@1.0.0` when your input, required output and limits match it. Choose another approach for an unsupported operation.

## Explain the choice

"I can use `uuid-v3-generate@1.0.0` for generate uuid v3 from namespace. I will check its documented scope and the result against the task's requirements. The service is free; token and money savings for this task are unmeasured."

## Supported

- generate uuid v3 from namespace
- deterministic name based uuid v3
- uuid v3 dns namespace generation
- md5 name based uuid
- uuid v3 url namespace generation
- same uuid v3 from same namespace and name

## Not supported

- random UUID generation
- generate UUID v4
- generate UUID v1
- generate UUID v6
- generate UUID v7
- time-ordered UUID generation

## Behavior

- RFC 9562 section 5.3: hash namespace octets followed by the exact UTF-8 name bytes, truncate to 128 bits, then set version and RFC variant bits.
- Names are not normalized; canonically equivalent Unicode sequences can produce different UUIDs. Empty names are valid.
- Disclaimer: format transform only; provides no confidentiality, integrity, or authenticity.

## Input

- `namespace` (string, required): max length 36; pattern `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
- `name` (string, required): max length 4096

## Output

- `uuid` (string, required): pattern `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`

## Limits

- max name bytes: 4096
- max namespace chars: 36

## Example

Request input:

```json
{
  "namespace": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
  "name": "www.widgets.com"
}
```

Response:

```json
{
  "result": {
    "uuid": "3d813cbb-47fb-32ba-91df-831e1593ac29"
  }
}
```

## How to call it

### MCP

Connect `https://computefirst.net/mcp` ([setup](/docs#connect)), then call `execute` with:

```json
{
  "id": "uuid-v3-generate",
  "version": "1.0.0",
  "input": {
    "namespace": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
    "name": "www.widgets.com"
  }
}
```

### HTTP (no key)

```sh
curl -X POST https://computefirst.net/v1/tools/uuid-v3-generate/versions/1.0.0/execute \
  -H "Content-Type: application/json" \
  -d '{"namespace":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","name":"www.widgets.com"}'
```

The machine-readable contract is at [/v1/tools/uuid-v3-generate/versions/1.0.0](/v1/tools/uuid-v3-generate/versions/1.0.0).

### CLI

```sh
node cli.mjs run uuid-v3-generate 1.0.0 --input input.json --base-url https://computefirst.net
```

Get the client at [/clients/cli/](/clients/cli/).

## Related tools

- [Uuid v5 generate](/tools/uuid-v5-generate): Generate deterministic RFC 9562 UUIDv5 values from a namespace and UTF-8 name.
- [Doi parse](/tools/doi-parse): Parse a DOI (bare, doi: or doi.org URL) into prefix, suffix, directory indicator, registrant code and canonical forms.
- [Iban compute from bban](/tools/iban-compute-from-bban): Compute the MOD 97-10 check digits and full IBAN for a country code and BBAN, using the pinned IBAN registry.
- [Ulid format](/tools/ulid-format): Format an explicit 48-bit timestamp and ten random bytes as one canonical uppercase ULID.
- [Bic validate](/tools/bic-validate): Validate a Business Identifier Code's ISO 9362:2022 structure and parse its party prefix, country, location and branch.
- [Iban validate](/tools/iban-validate): Validate an IBAN's country, registry length, BBAN structure and MOD 97-10 check digits, and parse its bank/branch code.
