The Crypto interface represents basic cryptography features available in the current context. It allows access to a cryptographically strong random number generator and to cryptographic primitives.

An object with this interface is available on Web context via the Window.crypto property.


This interface implements properties defined on RandomSource (en-US).

Crypto.subtle This is an experimental API that should not be used in production code. Read only
Returns a SubtleCrypto (en-US) object providing access to common cryptographic primitives, like hashing, signing, encryption or decryption.


This interface implements methods defined on RandomSource (en-US).

Crypto.getRandomValues() (en-US)
Fills the passed TypedArray with cryptographically sound random values.


Specification Status Comment
Web Cryptography API
The definition of 'Crypto' in that specification.
Recommendation Initial definition

Browser Compatibility

BCD tables only load in the browser

See Also