🎉 25% off Pre-Sale! Bluetooth LE course with real hardware included - no SDK required
Bluetooth® Low Energy Protocol · · 1 min read

How do I choose a UUID for my custom services and characteristics?

Learn how to choose a UUID for custom Bluetooth LE GATT services and characteristics, avoid reserved UUIDs, and understand the Bluetooth Base UUID format.

How do I choose a UUID for my custom services and characteristics?

First, a few things to know:

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 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 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:

💡
Insider Tip: Want to master Bluetooth LE GATT services and characteristics design? Check out the Bluetooth Developer Academy for comprehensive courses on custom service implementation!

Read next

Get Started with Bluetooth LE

Download the free Intro to Bluetooth Low Energy eBook — the quickest way to understand the fundamentals.

No spam. Unsubscribe with one click.