MasaApps360
English
Periphery

BLE UUID lookup on iPhone: find and name a device's service UUIDs

Every BLE service and characteristic carries a UUID, and connecting to a device in Periphery's inspector is how you see them: each one shows its raw UUID, and the common ones also get a readable name, Battery Level for 2A19, say. Those names come from a small list stored right in the app, so the lookup works offline. Anything not on that list just stays raw hex, and that is most of what you will meet in the wild.

3 min read · Updated 2026-10-06

Short and long BLE UUIDs

The Bluetooth SIG's own services and characteristics use short 16-bit UUIDs, 4 hex digits, 180F for Battery Service and so on. Vendors and hobby projects instead write full 128-bit ones, like 6E400001-B5A3-F393-E0A9-E50E24DCCA9E for Nordic UART. A short UUID is enough on its own to look up. A long custom one only means something once its maker has published what it stands for, and plenty never do.

How to find the UUID of a Bluetooth device's services

  1. Tap Scan and find your device. Filter by name with Filter by name or UUID if the list is long.
  2. Tap the device to open the inspector. Periphery connects and lists every service it finds.
  3. Each service header shows its name when Periphery knows it, otherwise the raw UUID. Tap a header to fold or unfold its characteristics.
  4. Under each characteristic's name, the raw UUID is always shown in small type, so you can copy it into your own code or notes.

Do not confuse that with the identifier on the scan row; that one is the ID iOS assigns to the device itself, a different thing entirely from a service UUID.

UUIDs Periphery names offline

It is a short list, built around what developers actually run into. Here is everything it resolves:

Service UUIDs in Periphery's built-in list
UUIDName shown
1800Generic Access
1801Generic Attribute
180ADevice Information
180DHeart Rate
180FBattery Service
1810Blood Pressure
1812Human Interface Device
1816Cycling Speed and Cadence
1818Cycling Power
181AEnvironmental Sensing
FFF0Xiaomi Service
6E400001-B5A3-F393-E0A9-E50E24DCCA9ENordic UART Service
5C7A4CD0-07F5-4F60-BF6A-C7B2A61CBBF8ESP32 Custom Service
ADE3D529-C784-4F63-A987-EB69F70EE816Shelly BLU
Characteristic UUIDs in Periphery's built-in list
UUIDName shown
2A19Battery Level
2A24Model Number
2A26Firmware Revision
2A29Manufacturer Name
2A37Heart Rate Measurement
2A38Body Sensor Location
2A6ETemperature
2A6FHumidity
FFF1Xiaomi Data
6E400002-B5A3-F393-E0A9-E50E24DCCA9ENordic UART RX
6E400003-B5A3-F393-E0A9-E50E24DCCA9ENordic UART TX

25 UUIDs, total, nowhere near the full Bluetooth SIG list. Anything off that list stays as raw hex, which is your cue to check the chip vendor's docs or the Bluetooth SIG's own assigned numbers.

Worked example: a Nordic UART board

Connect to an nRF-based board running Nordic UART and the service header reads Nordic UART Service. Under it: Nordic UART RX (6E400002-...) carrying a W tag, the one you write into, and Nordic UART TX (6E400003-...) with an N tag, the one that talks back. The card up top names it Nordic UART Device, as you would hope.

Common mistakes

  • Mixing up the scan-row identifier with a service UUID. These are two unrelated numbers.
  • Assuming FFF0 always means Xiaomi. Plenty of cheap devices reuse FFF0 and FFF1 for their own data.
  • Expecting a name for every custom UUID. A custom 128-bit one is private until its maker decides to publish it.
  • Typing a service UUID into the scan filter and wondering why nothing matches. Filter by name or UUID only reads the device's name or its iOS identifier, never the services sitting inside it.

Questions and answers

Does the UUID lookup need internet?
No. It is all stored right in the app, so it works in airplane mode as long as Bluetooth itself is on.
Why do some services show only a long hex code?
They just are not on Periphery's built-in list, usually because they are custom vendor UUIDs nobody published widely. The raw UUID stays visible so you can go check the device's own documentation.
Where is the UUID of a Bluetooth device itself?
There is not one fixed UUID for the device as a whole. iOS hands each device its own identifier, and the first 8 characters of that show up on the scan row. The UUIDs you see in the inspector belong to the services and characteristics inside, a different layer entirely.

You might also like

More Periphery guides