Web Crypto API Algorithms Reference

All Web Crypto SubtleCrypto algorithm names with operation support matrix.

Reference for Web Crypto API (SubtleCrypto) algorithm identifiers — RSA, ECDSA, AES, HMAC, SHA, PBKDF2 — with the operations each supports: sign, verify, encrypt, digest, deriveBits and wrapKey.

What is the Web Crypto API?

The Web Crypto API exposes cryptographic primitives in browsers and other JavaScript runtimes through crypto.subtle (a SubtleCrypto object). It supports hashing, signing, verification, encryption, key derivation and key wrapping using named algorithms with typed parameters.

Web Crypto API algorithm identifiers

The crypto.subtle interface takes a named algorithm for every operation, and each algorithm only supports certain operations. This reference lists the SubtleCrypto algorithm identifiers with a support matrix across sign, verify, encrypt, decrypt, digest, derive and wrap, plus a live filter.

How it works

Every SubtleCrypto call names an algorithm and supplies its parameters:

const sig = await crypto.subtle.sign(
  { name: "ECDSA", hash: "SHA-256" },
  privateKey,
  data
);

const ct = await crypto.subtle.encrypt(
  { name: "AES-GCM", iv },
  key,
  plaintext
);

An algorithm only works for the operations it supports — AES-GCM does encrypt/decrypt/wrapKey/unwrapKey but not sign; ECDSA does sign/verify but not encrypt. The matrix below maps each name to its valid operations.

Tips and notes

  • Prefer AES-GCM (authenticated) over AES-CBC for new code, with a unique IV.
  • PBKDF2/HKDF/ECDH produce key material via deriveBits/deriveKey only.
  • Hash names (SHA-256, SHA-384, SHA-512) are used with digest and as the hash parameter inside signing/derivation algorithms.
  • SHA-1 is supported for digest but is unsafe for signatures.