v157 · web bluetooth

MTU probe

Read the real negotiated write size off a real device. Web Bluetooth needs a user gesture, a secure context, an adapter, and a device in range — so this page is explicit about which of those it has, rather than reporting a number it made up.

What this browser has

navigator.bluetooth
Property on prototype
Secure context
Adapter available

Pair a device and read the size

This opens Chrome's device chooser. Pick any BLE device in range; the page connects its GATT server, reads the negotiated write size, and disconnects. It writes nothing to the device.

Device
not connected
Max write size
vs the 20-byte assumption
Size changes seen
0

Log

code path

const device = await navigator.bluetooth.requestDevice({
  acceptAllDevices: true,
  optionalServices: [],
});
const server = await device.gatt.connect();

// The number this feature adds. Undefined before Chrome 157.
const max = server.maxWriteWithoutResponseSize;

// Feature-detect on the prototype, not on a value: the property can
// legitimately be undefined on a disconnected server.
const supported = "maxWriteWithoutResponseSize" in
  BluetoothRemoteGATTServer.prototype;

see also