> ## Content Index
> Fetch the complete content index at: https://novelbits.io/llms.txt
> Use this file to discover other available public pages before exploring further.

# How do I choose a UUID for my custom services and characteristics?
- URL: https://novelbits.io/uuid-for-custom-services-and-characteristics/
- Published: 2016-10-19T20:04:14.000Z
- Updated: 2026-08-09T05:26:41.000Z
- Description: Learn how to choose a UUID for custom Bluetooth LE GATT services and characteristics, avoid reserved UUIDs, and understand the Bluetooth Base UUID format.
- Author: Mohammad Afaneh
- Tags: Bluetooth® Low Energy Protocol, Custom, IoT, Tutorial, UUID

First, a few things to know:

- "A UUID is a universally unique identifier that is guaranteed to be unique across all space and all time" (*Bluetooth 4.2 spec, Vol 3, Part B, section 2.5.1 UUID)*
- A UUID is a 128-bit value.
- There are reserved UUIDs by the Bluetooth SIG that are generally represented by their 16-bit aliases. These aliases are used for convenience and represent a 128-bit value computed as follows:

128-bit value = 16-bit-value \* 2^96 + BluetoothBaseUUID

where the BluetoothBaseUUID is 00000000-0000-1000-8000-00805F9B34FB Examples include:  
0x180F -> Battery Service UUID (128-bit UUID: 0000180F-0000-1000-8000-00805F9B34FB)  
0x2A00 -> Device Name Characteristic UUID (128-bit UUID: 00002A00-0000-1000-8000-00805F9B34FB)

These reserved UUIDs cannot be used for any custom services or characteristics, so you need to avoid them.

*Note: you can actually purchase and reserve a 16-bit alias from the Bluetooth SIG [here](https://support.bluetooth.com/hc/en-us/articles/360062030092-Requesting-Assigned-Numbers?ref=novelbits.io) for a fee of $3,000, which would allow you to use the alias instead.*

So, to create a UUID for your custom services and characteristics you would:

1. Use a website such as [GUID Generator](https://www.guidgenerator.com/?ref=novelbits.io) to generate a UUID (or multiple UUIDs)
2. Make sure it does not conflict with a reserved UUID (avoid any containing XXXXXXXX-0000-1000-8000-00805F9B34FB where XXXXXXXX is any number)

**Helpful Resources:**

- [https://support.bluetooth.com/hc/en-us/articles/360062030092-Requesting-Assigned-Numbers](https://support.bluetooth.com/hc/en-us/articles/360062030092-Requesting-Assigned-Numbers?ref=novelbits.io)
- [https://support.bluetooth.com/hc/en-us/articles/360058202612-Bluetooth-SIG-Membership-Fee-Changes-Effective-1-January-2022](https://support.bluetooth.com/hc/en-us/articles/360058202612-Bluetooth-SIG-Membership-Fee-Changes-Effective-1-January-2022?ref=novelbits.io)

💡

**Insider Tip:** Want to master Bluetooth LE GATT services and characteristics design? Take it hands-on with [Bluetooth LE Unplugged](https://novelbits.io/ble-unplugged-course/): two USB dongles ship with the course, and you build working Bluetooth LE devices without an SDK or a line of embedded C.