SDK for JavaScript (Gen.3) is the successor of both SDK for Browser (Gen.2) and SDK for Node.js (Gen.2).


All features of this SDK are documented on the SDK Overview page.

Integration Options

Option A) Web Application with Device Connector

Jabra SDK for JavaScript: Web Application (Device Connector)
You have to install the Browser Extension and the Device Connector on the local machine.

This option provides the best functionality when using web applications. But it requires additional software on each local machine.

Option B) Web Application with Web HID

Jabra SDK for JavaScript: Web Application (Web HID)
All functionality for local machine is provided by the browser. Additional software installations are not required.

Jabra's current implementation of WebHID has following limitations:

  • For wireless devices, only the USB connected dongles and desk stands will be available
  • Call Control works for wireless devices, but it will display the name of the dongle/desk stand instead of the name of the device
  • Call Lock works only inside the browser

Option C) Contingency Integration

Contingency is the recommended method of integration for web applications with SDK for JavaScript.

It combines two different integrations:

Integration Description
Web Application (Device Connector) Default mode
Web Application (Web HID) Fallback mode

Option D) Desktop Application with Node.js

Jabra SDK for JavaScript: Desktop Application (Node.js)
The installation of the Node.js application includes the Device Connector.

Desktop applications are a very powerful way of integration.

System Requirements

Operating System

The SDK supports:

Operating System Hardware Platform
Windows 11 Intel 64-bit
Windows 10 Intel 64-bit
macOS 12 Intel 64-bit, Apple M1
macOS 11 Intel 64-bit, Apple M1
Ubuntu 20.04 Intel 64-bit
Chrome OS 94 (or higher) Intel 64-bit


Supported browsers are:

Manufacturer Browser
Google Chrome
Microsoft Edge

Known Issues

Known issues for the current SDK version:

  • Webpack doesn't pack the console app properly for Node.js apps (e.g. Electron):
    • Error message: UnhandledPromiseRejectionWarning: Error: Cannot find native console app. Please make sure you have installed the SDK correctly.
    • Work-around: Adding externals: ["@gnaudio/jabra-js/node-cjs"] to the Webpack config file fixes the issue in certain situations
  • Jabra Speak 410 (UC version) and Jabra Speak 510 (UC version) are not recognized on Chrome OS
  • Linux with Device Connector: The Easy Call Control module sometimes misinterprets reject call signals from wireless devices as accept call

Known Limitations

Known limitations for the current SDK version:

  • Organization key and app name do not support UTF-8. The only supported character set is ASCII.
  • Caveats with multiple connection paths to a device (e.g. headset connected both through USB cable and USB Bluetooth dongle).
  • Call lock interference between applications using jabra-js and other libraries. There are cases in which call locking a child device simultaneously in both jabra-js and older Jabra libraries is possible. This may lead to interference in operation of the device in the two applications if trying to use the device simultaneously.

Required Prior Knowledge

Working with this software requires prior knowledge in:

Please read the linked documentation before you start an integration.


Current Versions

  Version Generation Last Updated  
SDK for JavaScript 4.2.1 Gen.3 Oct 2022 npmjs.com
Device Connector (Windows) 1.0.0 Gen.3 Oct 2021 Download
Device Connector (macOS) 1.0.3 Gen.3 Oct 2022 Download
Device Connector (Linux) 1.0.0 Gen.3 Oct 2021 Download
Browser Extension for Device Connector 1.1.7 Gen.3 Mar 2023 Google Web Store

Legacy Versions

  Version Generation Last Updated  
SDK for JavaScript 4.2.0 Gen.3 Oct 2022 npmjs.com
SDK for JavaScript 4.1.2 Gen.3 Mar 2022 npmjs.com
Device Connector (macOS) 1.0.0 Gen.3 Oct 2021 Download