Understanding the USB Interfaces

USB interfaces are the different channels that software can use to communicate with the YubiKey when it is connected via USB. Each interface enables a specific set of applications on the YubiKey. If an interface is disabled, none of the applications that use that interface will be available.


With previous YubiKeys and older Yubico firmware, the USB interfaces were referred to as modes and the FIDO interface was called the U2F mode.


The OTP interface presents itself to the operating system as a USB keyboard. The OTP application is accessible over this interface.

The OTP interface is supported natively across all desktop OS environments (macOS, Windows, Linux) as well as on mobile OS platforms (iOS, Android).

Output is sent as a series of keystrokes from a virtual keyboard, allowing the OTP application to work with any environment that supports USB keyboard input.


The FIDO interface provides access to the FIDO2 and U2F applications.

The FIDO interface presents itself as a generic human interface device (HID). The FIDO interface is supported on all desktop platforms running WebAuthn-compatible browsers or applications, as well as on Android and iOS (starting in iOS 13).


The CCID interface provides communication for the PIV / Smart Card, OATH (HOTP and TOTP), and OpenPGP applications.

The YubiKey presents itself to the operating system as a USB smart card reader. Each of the applications presents itself as a separate smart card attached to that reader. The CCID interface is supported on Windows and MacOS, and on Linux with the PC/SC package. CCID is also supported on Android.


Developers: Access to the CCID interface on iOS, requires the Yubico iOS SDK.

Click for Yubico Support.