# Декодер і валідатор UUID

> Декодуйте UUID онлайн. Дізнайтеся версію, витягніть часову мітку (v1, v7) та перевірте формат. Підтримка UUID v1, v3, v4, v5, v6, v7.

URL: https://acrafto.com/uk/uuid-dekoder/

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

Вставте ваш UUID у поле вище, і цей інструмент (UUID Parser) негайно проведе онлайн-перевірку, визначить версію, валідність та витягне приховану інформацію.

## Що таке Декодер UUID?

Декодер UUID – це інструмент, який аналізує UUID (Universally Unique Identifier) та витягує з нього всю доступну інформацію. UUID – це не просто випадковий рядок символів; залежно від версії, він може містити часову мітку, інформацію про систему або хеш детермінованих даних.

## Яку інформацію можна отримати з UUID?

### Основна інформація про UUID

**Версія UUID:**

- Визначає тип та структуру UUID (v1, v3, v4, v5, v6, v7)
- Вилучається з 13-го шістнадцяткового символу

**Варіант:**

- `RFC 4122` - Стандартний варіант UUID
- `NCS` - Network Computing System (застарілий)
- `Microsoft` - Варіант Microsoft GUID
- `Reserved` - Зарезервовано для майбутнього використання

### UUID v1 - Часова мітка + MAC-адреса

**Що можна отримати:**

- ✅ **Точний час створення** - дата і час з точністю до 100 наносекунд
- ✅ **Послідовність годинника** - порядковий номер для запобігання колізіям
- ✅ **ID вузла** - спочатку MAC-адреса, часто випадкові значення

**Приклад:**

```
UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8

Версія: v1 (Часова мітка + MAC)
Варіант: RFC 4122
Дата і час: 15.10.1997 04:25:33.000
Послідовність годинника: 724
ID вузла: 00:C0:4F:D4:30:C8
```

**Використання:**

- Визначення часу створення запису
- Аудит та криміналістичний аналіз
- Налагодження проблем, залежних від часу

### UUID v3/v5 - На основі хешу

**Що можна отримати:**

- ✅ **Тип хешу** - MD5 (v3) або SHA-1 (v5)
- ❌ **Неможливо отримати** - початковий простір імен та ім’я (односторонній хеш)

**Приклад:**

```
UUID: 886313e1-3b8a-5372-9b90-0c9aee199e5d

Версія: v5 (SHA-1 хеш)
Варіант: RFC 4122
Тип: UUID на основі хешу (детермінований)
Примітка: Початковий простір імен та ім'я не можуть бути відновлені з UUID
```

**Використання:**

- Перевірка, що UUID є детермінованим
- Ідентифікація типу UUID у базі даних
- Контроль узгодженості ідентифікаторів на основі хешу

### UUID v4 - Випадковий

**Що можна отримати:**

- ✅ **Версія** - підтвердження, що є випадковим
- ✅ **Варіант** - стандарт RFC 4122
- ❌ **Жодних додаткових даних** - суто випадкові біти

**Приклад:**

```
UUID: f47ac10b-58cc-4372-a567-0e02b2c3d479

Версія: v4 (Випадковий)
Варіант: RFC 4122
Тип: Випадково згенерований UUID
```

**Використання:**

- Перевірка, що UUID є випадковим (не детермінованим)
- Перевірка правильності формату UUID
- Валідація UUID перед збереженням у базу даних

### UUID v6 - Упорядкована часова мітка

**Що можна отримати:**

- ✅ **Точний час створення** - переупорядкований для кращої продуктивності БД
- ✅ **Послідовність годинника** - порядковий номер
- ✅ **ID вузла** - ідентифікатор вузла

**Приклад:**

```
UUID: 1ec9414c-232a-6b00-b3c8-9e6bdeced846

Версія: v6 (Упорядкована часова мітка)
Варіант: RFC 4122
Дата і час: 30.01.2026 14:23:45.123
Послідовність годинника: 3272
ID вузла: 9E:6B:DE:CE:D8:46
```

**Використання:**

- Визначення часу створення запису
- Аналіз хронологічного сортування в БД
- Налагодження розподілених систем

### UUID v7 - Мітка часу Unix

**Що можна отримати:**

- ✅ **Мітка часу Unix** - мілісекунди від 01.01.1970
- ✅ **Дата і час** - стандартний формат мітки часу Unix
- ❌ **Випадкова частина** - не може бути декодована

**Приклад:**

```
UUID: 017f22e2-79b0-7cc3-98c4-dc0c0c07398f

Версія: v7 (Мітка часу Unix)
Варіант: RFC 4122
Дата і час: 30.01.2026 14:23:45.123
```

**Використання:**

- Отримання часу створення сучасних UUID
- Аналіз часового сортування
- Міграція даних з часовими мітками

## Структура UUID

UUID має формат: `xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx`

```
6ba7b810-9dad-11d1-80b4-00c04fd430c8
│      │ │  │ │  │ │  │ │           │
│      │ │  │ │  │ │  │ └───────────┴─ Вузол (48 біт)
│      │ │  │ │  │ └──┴─────────────── Послідовність годинника (14 біт)
│      │ │  │ └──┴────────────────────── Варіант (2-3 біти)
│      │ └──┴───────────────────────────── Версія (4 біти) + Time High
│      └──────────────────────────────────── Time Mid (16 біт)
└─────────────────────────────────────────── Time Low (32 біти)
```

### Вилучення версій та варіантів

**Версія (M):**

- Позиція: 13-й шістнадцятковий символ
- Значення: 1-7 (різні версії UUID)

**Варіант (N):**

- `0-7`: NCS (Зарезервовано)
- `8-B`: RFC 4122 (стандарт)
- `C-D`: Microsoft
- `E-F`: Майбутнє (Зарезервовано)

## Практичні приклади

### Налагодження - Визначення часу створення запису

**Сценарій:** Користувач повідомляє, що його дані зникли. Вам потрібно з’ясувати, коли був створений запис.

```
UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
Декодовано: 15.10.1997 04:25:33.000

→ Запис було створено у 1997 році
```

### Криміналістичний аналіз - Перевірка часової послідовності

**Сценарій:** Перевірка, чи відбулися події у правильній послідовності.

```
UUID 1: 1ec9414c-232a-6b00-b3c8-9e6bdeced846 → 30.01.2026 14:23:45
UUID 2: 1ec9414d-557b-6a00-8f32-1234567890ab → 30.01.2026 14:25:12

→ UUID 2 було створено пізніше (правильний порядок)
```

### Ідентифікація типу UUID у базі даних

**Сценарій:** У вас є змішані UUID у БД, і вам потрібно знати, які з них є випадковими, а які мають часову мітку.

```
f47ac10b-58cc-4372-a567-0e02b2c3d479 → v4 (випадковий, без часової мітки)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 → v1 (має часову мітку)
017f22e2-79b0-7cc3-98c4-dc0c0c07398f → v7 (має часову мітку)

→ Лише UUID v1 та v7 містять інформацію про час
```

## Обмеження та що неможливо отримати

### ❌ UUID v3/v5 - Неможливо декодувати хеш

**Неможливо:**

- Відновити початковий простір імен
- Відновити початкове ім’я/значення
- З’ясувати, які дані були хешовані

**Причина:** MD5 та SHA-1 є односторонніми хеш-функціями.

### ❌ UUID v4 - Жодних прихованих даних

**Неможливо:**

- Отримати будь-які метадані
- Визначити час створення
- Ідентифікувати джерело

**Причина:** UUID v4 є суто випадковим, не містить жодної структурованої інформації.

### ⚠️ UUID v1/v6 - ID вузла може бути випадковим

**Обмеження:**

- У сучасних реалізаціях ID вузла часто є випадковим (не справжньою MAC-адресою)
- Через захист конфіденційності MAC-адреси часто замінюються випадковими значеннями
- Неможливо надійно ідентифікувати конкретну машину

## Валідація UUID

Декодер також працює як валідатор UUID.

### Перевірка дійсності UUID

Декодер автоматично перевіряє:

- ✅ Правильний формат (8-4-4-4-12 шістнадцяткових символів)
- ✅ Дійсні шістнадцяткові символи (0-9, a-f)
- ✅ Правильна довжина (36 символів, включаючи дефіси, 32 без них)

### Розпізнавання недійсних UUID

**Недійсні приклади:**

```
❌ 6ba7b810-9dad-11d1-80b4          (занадто короткий)
❌ 6ba7b810-9dad-11d1-80b4-GHIJKLMN (недійсні символи)
❌ 6ba7b81-09dad-11d1-80b4-00c04fd4 (неправильний формат)
```

## Для розробників

### Реалізація на JavaScript

```
// Вилучення версії з UUID
function getUUIDVersion(uuid) {
    const cleaned = uuid.replace(/-/g, '');
    return parseInt(cleaned[12], 16);
}

// Вилучення мітки часу з UUID v7
function extractV7Timestamp(uuid) {
    const cleaned = uuid.replace(/-/g, '');
    const timeHi = parseInt(cleaned.substring(0, 8), 16);
    const timeLow = parseInt(cleaned.substring(8, 12), 16);
    const unixMs = Number(BigInt("0x" + cleaned.substring(0, 12)) >> 16n);
    return new Date(unixMs);
}

// Приклад
const uuid = '017f22e2-79b0-7cc3-98c4-dc0c0c07398f';
console.log(getUUIDVersion(uuid)); // 7
console.log(extractV7Timestamp(uuid)); // Date object
```

### Валідація UUID за допомогою Regex

```
const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;

function isValidUUID(uuid) {
    return uuidRegex.test(uuid);
}
```

## Поширені запитання (FAQ)

### Чи можу я отримати час створення з UUID v4?

Ні, UUID v4 є суто випадковим і не містить жодної інформації про час. Для UUID з часовою міткою використовуйте v1, v6 або v7.

### Чому Node ID в UUID v1 є випадковим замість MAC-адреси?

Сучасні реалізації використовують випадковий Node ID через захист конфіденційності. Розкриття справжньої MAC-адреси може бути ризиком безпеки.

### Чи можу я відновити оригінальну URL-адресу або ім'я з UUID v5?

Ні, UUID v5 використовує хеш SHA-1, який є одностороннім. З хешу неможливо відновити початкові дані.

### Як дізнатися, що UUID є випадковим (v4)?

Декодер покаже версію UUID. Якщо версія 4, це випадково згенерований UUID без додаткових метаданих.

### Чи є часова мітка в UUID v1 точною?

Так, UUID v1 має теоретичну точність 100 наносекунд (починаючи з 15 жовтня 1582 року). На практиці це залежить від точності системного годинника.

### Чи можу я використовувати декодер для валідації UUID?

Так, декодер автоматично перевіряє формат UUID і відображає помилку, якщо UUID недійсний.

## Безпека та конфіденційність

### Що розкриває UUID?

**UUID v1/v6:**

- ⚠️ **Час створення** - може розкрити час виконання операцій
- ⚠️ **Потенційно MAC-адреса** - ризик ідентифікації пристрою (у сучасних реалізаціях випадкова)

**UUID v4:**

- ✅ **Безпечно** - не містить метаданих

**UUID v7:**

- ⚠️ **Мітка часу Unix** - розкриває час створення

### Рекомендації

- ✅ Використовуйте UUID v4 для максимальної конфіденційності
- ⚠️ Будьте обережні з UUID v1/v6/v7 у публічних API (розкривають інформацію про час)
- ✅ UUID v5 є детермінованим, але не розкриває початкові дані
- ⚠️ Хеш MD5 не є повністю безпечним

## Цікаві факти

- **Найдавніший можливий UUID v1**: 15 жовтня 1582 00:00:00 (початок григоріанського календаря)
- **Найновіший UUID v7**: 10889-08-02 05:31:50.655 (ліміт мітки часу Unix у мс)
- **Точність UUID v1**: 100 наносекунд (теоретично 10 мільйонів UUID за секунду)
- **UUID Nil**: `00000000-0000-0000-0000-000000000000` (спеціальний “порожній” UUID)
- **UUID Max**: `ffffffff-ffff-ffff-ffff-ffffffffffff` (максимальне значення)

## Використання в різних системах

### PostgreSQL

```
-- Вилучення версії UUID
SELECT substring(id::text, 15, 1) as version
FROM users;

-- Фільтрація за версією
SELECT *
FROM users
WHERE substring(id::text, 15, 1) = '4';
```

### MySQL

```
-- Перевірка формату UUID
SELECT id
FROM users
WHERE id REGEXP '^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$';
```

## Other languages

- Čeština (cs): [UUID decoder a validátor](https://acrafto.com/cs/dekoder-uuid/) ([Markdown](https://acrafto.com/cs/dekoder-uuid/index.md))
- Slovenčina (sk): [UUID dekodér a validátor](https://acrafto.com/sk/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/sk/uuid-dekoder-validator/index.md))
- English (en): [UUID Decoder and Validator](https://acrafto.com/en/uuid-decoder-validator/) ([Markdown](https://acrafto.com/en/uuid-decoder-validator/index.md))
- Deutsch (de): [UUID Decoder & Validator](https://acrafto.com/de/uuid-dekodierer-validator/) ([Markdown](https://acrafto.com/de/uuid-dekodierer-validator/index.md))
- Français (fr): [Décodeur et validateur UUID](https://acrafto.com/fr/decodeur-validateur-uuid/) ([Markdown](https://acrafto.com/fr/decodeur-validateur-uuid/index.md))
- Español (es): [Decodificador y validador UUID](https://acrafto.com/es/decodificador-validador-uuid/) ([Markdown](https://acrafto.com/es/decodificador-validador-uuid/index.md))
- Italiano (it): [Decodificatore e validatore UUID](https://acrafto.com/it/decodificatore-validatore-uuid/) ([Markdown](https://acrafto.com/it/decodificatore-validatore-uuid/index.md))
- Português (pt): [Decodificador e validador de UUID](https://acrafto.com/pt/analise-uuid/) ([Markdown](https://acrafto.com/pt/analise-uuid/index.md))
- Nederlands (nl): [UUID decoder & validator](https://acrafto.com/nl/uuid-decoder-validator/) ([Markdown](https://acrafto.com/nl/uuid-decoder-validator/index.md))
- Polski (pl): [Dekoder i walidator UUID](https://acrafto.com/pl/dekoder-i-walidator-uuid/) ([Markdown](https://acrafto.com/pl/dekoder-i-walidator-uuid/index.md))
- Română (ro): [Decodor și validator UUID](https://acrafto.com/ro/uuid-decoder-validator/) ([Markdown](https://acrafto.com/ro/uuid-decoder-validator/index.md))
- Magyar (hu): [UUID dekóder és validátor](https://acrafto.com/hu/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/hu/uuid-dekoder-validator/index.md))
- Ελληνικά (el): [Αποκωδικοποιητής UUID](https://acrafto.com/el/uuid-decoder/) ([Markdown](https://acrafto.com/el/uuid-decoder/index.md))
- Български (bg): [UUID декодер и валидатор](https://acrafto.com/bg/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/bg/uuid-dekoder-validator/index.md))
- Hrvatski (hr): [UUID dekoder i validator](https://acrafto.com/hr/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/hr/uuid-dekoder-validator/index.md))
- Slovenščina (sl): [UUID decoder in validator](https://acrafto.com/sl/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/sl/uuid-dekoder-validator/index.md))
- Eesti (et): [UUID dekooder ja validaator](https://acrafto.com/et/uuid-dekooder-validaator/) ([Markdown](https://acrafto.com/et/uuid-dekooder-validaator/index.md))
- Latviešu (lv): [UUID dekodētājs un validētājs](https://acrafto.com/lv/uuid-dekodetajs-validetajs/) ([Markdown](https://acrafto.com/lv/uuid-dekodetajs-validetajs/index.md))
- Lietuvių (lt): [UUID dekoderis](https://acrafto.com/lt/uuid-dekoderis-ir-validuoklis/) ([Markdown](https://acrafto.com/lt/uuid-dekoderis-ir-validuoklis/index.md))
- Svenska (sv): [UUID decoder och validator](https://acrafto.com/sv/uuid-avkodare-validerare/) ([Markdown](https://acrafto.com/sv/uuid-avkodare-validerare/index.md))
- Dansk (da): [UUID dekoder og validator](https://acrafto.com/da/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/da/uuid-dekoder-validator/index.md))
- Suomi (fi): [UUID-dekooderi ja validaattori](https://acrafto.com/fi/uuid-dekooderi/) ([Markdown](https://acrafto.com/fi/uuid-dekooderi/index.md))
- Norsk (no): [UUID-dekoder og validator](https://acrafto.com/no/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/no/uuid-dekoder-validator/index.md))
- Русский (ru): [UUID декодер и валидатор](https://acrafto.com/ru/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/ru/uuid-dekoder-validator/index.md))
- Српски (sr): [UUID dekoder i validator](https://acrafto.com/sr/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/sr/uuid-dekoder-validator/index.md))
- Македонски (mk): [UUID декодер и валидатор](https://acrafto.com/mk/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/mk/uuid-dekoder-validator/index.md))
- Bosanski (bs): [UUID dekoder i validator](https://acrafto.com/bs/uuid-dekoder-validat/) ([Markdown](https://acrafto.com/bs/uuid-dekoder-validat/index.md))
- Shqip (sq): [Dekodues UUID](https://acrafto.com/sq/dekodues-uuid/) ([Markdown](https://acrafto.com/sq/dekodues-uuid/index.md))
- Türkçe (tr): [UUID çözücü ve doğrulayıcı](https://acrafto.com/tr/uuid-cozucu-dogrulayici/) ([Markdown](https://acrafto.com/tr/uuid-cozucu-dogrulayici/index.md))
- 日本語 (ja): [UUIDデコード・検証](https://acrafto.com/ja/uuid-decoder-validator/) ([Markdown](https://acrafto.com/ja/uuid-decoder-validator/index.md))
- 한국어 (ko): [UUID 디코더 및 검사기](https://acrafto.com/ko/uuid-decoder-validator/) ([Markdown](https://acrafto.com/ko/uuid-decoder-validator/index.md))
- العربية (ar): [فك تشفير UUID والتحقق منه](https://acrafto.com/ar/uuid-decoder-validator/) ([Markdown](https://acrafto.com/ar/uuid-decoder-validator/index.md))
- हिन्दी (hi): [UUID डिकोडर और वैलिडेटर](https://acrafto.com/hi/uuid-decoder-validator/) ([Markdown](https://acrafto.com/hi/uuid-decoder-validator/index.md))
- Bahasa Indonesia (id): [UUID decoder dan validator](https://acrafto.com/id/dekoder-uuid-validator/) ([Markdown](https://acrafto.com/id/dekoder-uuid-validator/index.md))
- Tiếng Việt (vi): [Giải mã và kiểm tra UUID](https://acrafto.com/vi/giai-ma-xac-thuc-uuid/) ([Markdown](https://acrafto.com/vi/giai-ma-xac-thuc-uuid/index.md))
- ไทย (th): [UUID Decoder](https://acrafto.com/th/uuid-decoder-validator/) ([Markdown](https://acrafto.com/th/uuid-decoder-validator/index.md))
- עברית (he): [מפענח UUID](https://acrafto.com/he/uuid-decoder-validator/) ([Markdown](https://acrafto.com/he/uuid-decoder-validator/index.md))
