/new-web-api

New Web APIs Since 2016

Primary LanguageJavaScript

New Web APIs Since 2016

A comprehensive list of new Web APIs by year of general availability across major browsers.

This document is automatically generated weekly.

2025

CaretPosition

ClipboardItem

CookieChangeEvent

CookieStore

CredentialsContainer

CSPViolationReportBody

ElementInternals

ExtendableCookieChangeEvent

FragmentDirective

GPU

GPUAdapter

GPUAdapterInfo

GPUBindGroup

GPUBindGroupLayout

GPUBuffer

GPUCanvasContext

GPUCommandBuffer

GPUCommandEncoder

GPUCompilationInfo

GPUCompilationMessage

GPUComputePassEncoder

GPUComputePipeline

GPUDevice

GPUDeviceLostInfo

GPUExternalTexture

GPUInternalError

GPUOutOfMemoryError

GPUPipelineError

GPUPipelineLayout

GPUQuerySet

GPUQueue

GPURenderBundle

GPURenderBundleEncoder

GPURenderPassEncoder

GPURenderPipeline

GPUSampler

GPUShaderModule

GPUSupportedFeatures

  • GPUSupportedFeatures (Chrome 113, Firefox 141, Safari 26)
  • [Symbol.iterator] (Chrome 113, Firefox 141, Safari 26)
  • GPUSupportedFeatures.entries (Chrome 113, Firefox 141, Safari 26)
  • texture-compression-astc-sliced-3d feature (Chrome 139, Firefox 141, Safari 26)
  • texture-compression-bc-sliced-3d feature (Chrome 139, Firefox 141, Safari 26)
  • GPUSupportedFeatures.forEach (Chrome 113, Firefox 141, Safari 26)
  • GPUSupportedFeatures.has (Chrome 113, Firefox 141, Safari 26)
  • GPUSupportedFeatures.keys (Chrome 113, Firefox 141, Safari 26)
  • GPUSupportedFeatures.size (Chrome 113, Firefox 141, Safari 26)
  • GPUSupportedFeatures.values (Chrome 113, Firefox 141, Safari 26)

GPUSupportedLimits

GPUTexture

GPUTextureView

GPUUncapturedErrorEvent

GPUValidationError

Highlight

HighlightRegistry

HTMLDialogElement

ImageCapture

IntersectionObserver

OffscreenCanvas

  • webgpu context (Chrome 113, Firefox 141, Safari 26)

OffscreenCanvasRenderingContext2D

PublicKeyCredential

PushManager

PushMessageData

PushSubscriptionChangeEvent

  • PushSubscriptionChangeEvent (Chrome 138, Firefox 137, Safari 16)
  • PushSubscriptionChangeEvent.newSubscription (Chrome 138, Firefox 137, Safari 16)
  • PushSubscriptionChangeEvent.oldSubscription (Chrome 138, Firefox 137, Safari 16)
  • PushSubscriptionChangeEvent() constructor (Chrome 138, Firefox 137, Safari 16.1)

RTCCertificate

RTCRtpReceiver

RTCRtpScriptTransform

RTCRtpScriptTransformer

RTCRtpSender

RTCStatsReport

RTCTransformEvent

ServiceWorkerGlobalScope

ShadowRoot

  • Requires TrustedHTML instance when trusted types are enforced (Chrome 83, Firefox 135, Safari 26)

trustedTypes

URLPattern

WebTransport

WebTransportBidirectionalStream

WebTransportDatagramDuplexStream

WebTransportError

WGSLLanguageFeatures

  • WGSLLanguageFeatures (Chrome 115, Firefox 141, Safari 26)
  • [Symbol.iterator] (Chrome 115, Firefox 141, Safari 26)
  • WGSLLanguageFeatures.entries (Chrome 115, Firefox 141, Safari 26)
  • WGSLLanguageFeatures.forEach (Chrome 115, Firefox 141, Safari 26)
  • WGSLLanguageFeatures.has (Chrome 115, Firefox 141, Safari 26)
  • WGSLLanguageFeatures.keys (Chrome 115, Firefox 141, Safari 26)
  • WGSLLanguageFeatures.size (Chrome 115, Firefox 141, Safari 26)
  • WGSLLanguageFeatures.values (Chrome 115, Firefox 141, Safari 26)

2024

AbortSignal

AudioData

AudioDecoder

AudioEncoder

Clipboard

  • Clipboard.read (Chrome 76, Firefox 127, Safari 13.1)
  • Clipboard.readText (Chrome 66, Firefox 125, Safari 13.1)
  • Supports image/png MIME type (Chrome 76, Firefox 127, Safari 13.1)
  • Supports text/html MIME type (Chrome 86, Firefox 127, Safari 13.1)
  • Supports text/plain MIME type (Chrome 76, Firefox 127, Safari 13.1)
  • Clipboard.write (Chrome 76, Firefox 127, Safari 13.1)

ClipboardItem

ContentVisibilityAutoStateChangeEvent

CSSNestedDeclarations

CSSPositionTryDescriptors

CSSPositionTryRule

CSSPropertyRule

CSSScopeRule

CSSStartingStyleRule

CustomStateSet

DOMMatrixReadOnly

  • scaleNonUniform() (Chrome 73, Firefox 33, Safari 17.4)

ElementInternals

EncodedAudioChunk

EncodedVideoChunk

fetch

  • init.keepalive parameter (Chrome 66, Firefox 133, Safari 13)
  • init.priority parameter (Chrome 101, Firefox 132, Safari 17.2)

HTMLDetailsElement

MediaSession

  • "skipad" type (Chrome 128, Firefox 82, Safari 15)

MediaStreamTrack

Permissions

  • camera permission (Chrome 64, Firefox 132, Safari 16)
  • microphone permission (Chrome 64, Firefox 132, Safari 16)

PointerEvent

RTCDataChannel

  • Blob value (Chrome 129, Firefox 22, Safari 11)

RTCDtlsTransport

RTCDTMFSender

RTCIceTransport

RTCRtpReceiver

RTCRtpTransceiver

ShadowRoot

TextEvent

TrustedTypePolicyFactory

VideoColorSpace

VideoDecoder

VideoEncoder

VideoFrame

WakeLock

WakeLockSentinel

2023

AuthenticatorAttestationResponse

CompressionStream

createImageBitmap

  • Value from-image (Chrome 112, Firefox 111, Safari 16)
  • SVGImageElement as source image (Chrome 59, Firefox 65, Safari 17.2)

CSSContainerRule

CSSCounterStyleRule

CustomElementRegistry

DecompressionStream

DeviceMotionEvent

DeviceOrientationEvent

ElementInternals

FileSystemDirectoryHandle

FileSystemFileHandle

FileSystemHandle

FileSystemSyncAccessHandle

FileSystemWritableFileStream

GamepadHapticActuator

Headers

InputEvent

MathMLElement

OffscreenCanvas

OffscreenCanvasRenderingContext2D

PerformanceResourceTiming

PerformanceServerTiming

Permissions

  • notifications permission (Chrome 43, Firefox 46, Safari 16.4)
  • push permission (Chrome 43, Firefox 46, Safari 16.5)

PermissionStatus

PublicKeyCredential

ReadableStreamDefaultReader

  • releaseLock() rejects pending read requests (Chrome 105, Firefox 102, Safari 17)

Report

  • Report (Chrome 69, Firefox 65, Safari 16.4)
  • Report.body (Chrome 69, Firefox 65, Safari 16.4)
  • Report.toJSON (Chrome 69, Firefox 77, Safari 16.4)
  • Report.type (Chrome 69, Firefox 65, Safari 16.4)
  • Report.url (Chrome 69, Firefox 65, Safari 16.4)

ReportBody

ReportingObserver

RTCEncodedAudioFrame

RTCEncodedVideoFrame

RTCRtpReceiver

RTCRtpSender

RTCSctpTransport

RTCStatsReport

ScreenOrientation

ShadowRoot

StorageManager

ToggleEvent

URLSearchParams

  • value parameter (Chrome 117, Firefox 115, Safari 17)
  • URLSearchParams.size (Chrome 113, Firefox 112, Safari 17)

UserActivation

Worklet

  • Support for ECMAScript modules (Chrome 80, Firefox 114, Safari 15)

WritableStreamDefaultController

2022

AbortSignal

BroadcastChannel

caches

  • Secure context required (Chrome 65, Firefox 103, Safari 11.1)

createImageBitmap

  • options.colorSpaceConversion parameter (Chrome 58, Firefox 98, Safari 15)
  • options.resizeHeight parameter (Chrome 54, Firefox 98, Safari 15)
  • options.resizeWidth parameter (Chrome 54, Firefox 98, Safari 15)

CSSFontPaletteValuesRule

CSSLayerBlockRule

CSSLayerStatementRule

FetchEvent

FontFace

  • Available in workers (Chrome 69, Firefox 105, Safari 15)

FontFaceSet

  • Available in workers (Chrome 69, Firefox 105, Safari 15)

HTMLDialogElement

ImageBitmapRenderingContext

KeyframeEffect

Lock

  • Lock (Chrome 69, Firefox 96, Safari 15.4)
  • Lock.mode (Chrome 69, Firefox 96, Safari 15.4)
  • Lock.name (Chrome 69, Firefox 96, Safari 15.4)

LockManager

MediaCapabilities

NavigationPreloadManager

NotificationEvent

OES_draw_buffers_indexed

PerformanceMark

PerformanceMeasure

Permissions

  • Permissions (Chrome 43, Firefox 46, Safari 16)
  • geolocation permission (Chrome 43, Firefox 46, Safari 16)
  • Permissions.query (Chrome 43, Firefox 46, Safari 16)

PermissionStatus

PushEvent

PushManager

PushMessageData

PushSubscription

PushSubscriptionOptions

ReadableStream

ReadableStreamDefaultReader

reportError

ResizeObserver

  • options.box parameter (Chrome 84, Firefox 69, Safari 15.4)

ResizeObserverSize

RTCDtlsTransport

RTCRtpReceiver

RTCRtpSender

RTCStatsReport

ServiceWorkerGlobalScope

ServiceWorkerRegistration

SpeechSynthesis

SpeechSynthesisErrorEvent

SpeechSynthesisEvent

structuredClone

TextDecoderStream

TextEncoderStream

TransformStream

TransformStreamDefaultController

WritableStream

WritableStreamDefaultController

WritableStreamDefaultWriter

2021

AbortSignal

AbstractRange

AudioParamMap

  • AudioParamMap (Chrome 66, Firefox 76, Safari 14.1)
  • [Symbol.iterator] (Chrome 66, Firefox 76, Safari 14.1)
  • AudioParamMap.entries (Chrome 66, Firefox 76, Safari 14.1)
  • AudioParamMap.forEach (Chrome 66, Firefox 76, Safari 14.1)
  • AudioParamMap.get (Chrome 66, Firefox 76, Safari 14.1)
  • AudioParamMap.has (Chrome 66, Firefox 76, Safari 14.1)
  • AudioParamMap.keys (Chrome 66, Firefox 76, Safari 14.1)
  • AudioParamMap.size (Chrome 66, Firefox 76, Safari 14.1)
  • AudioParamMap.values (Chrome 66, Firefox 76, Safari 14.1)

AudioWorklet

AudioWorkletGlobalScope

AudioWorkletNode

AudioWorkletProcessor

ConstantSourceNode

createImageBitmap

  • createImageBitmap (Chrome 50, Firefox 42, Safari 15)
  • options.imageOrientation parameter (Chrome 52, Firefox 93, Safari 15)

crossOriginIsolated

CSSConditionRule

EXT_color_buffer_float

EXT_float_blend

FormDataEvent

IIRFilterNode

ImageBitmap

InputEvent

MediaRecorder

MediaSession

  • MediaSession (Chrome 73, Firefox 82, Safari 15)
  • MediaSession.metadata (Chrome 73, Firefox 82, Safari 15)
  • MediaSession.playbackState (Chrome 73, Firefox 82, Safari 15)
  • setActionHandler() (Chrome 73, Firefox 82, Safari 15)
  • "nexttrack" type (Chrome 73, Firefox 82, Safari 15)
  • "pause" type (Chrome 73, Firefox 82, Safari 15)
  • "play" type (Chrome 73, Firefox 82, Safari 15)
  • "previoustrack" type (Chrome 73, Firefox 82, Safari 15)
  • "seekbackward" type (Chrome 73, Firefox 82, Safari 15)
  • "seekforward" type (Chrome 73, Firefox 82, Safari 15)
  • "seekto" type (Chrome 78, Firefox 82, Safari 15)
  • "stop" type (Chrome 77, Firefox 82, Safari 15)
  • setPositionState() (Chrome 81, Firefox 82, Safari 15)

MediaStreamAudioDestinationNode

MediaStreamAudioSourceNode

OES_fbo_render_mipmap

PerformanceNavigationTiming

PerformanceObserver

PerformancePaintTiming

  • PerformancePaintTiming (Chrome 60, Firefox 84, Safari 14.1)
  • PerformancePaintTiming.toJSON (Chrome 60, Firefox 84, Safari 14.1)

RTCRtpSender

RTCRtpTransceiver

  • stop() (Chrome 88, Firefox 59, Safari 11)

RTCStatsReport

SecurityPolicyViolationEvent

ShadowRoot

StaticRange

StereoPannerNode

StorageManager

SubmitEvent

TextEncoder

VisualViewport

WEBGL_compressed_texture_s3tc_srgb

WebGL2RenderingContext

WebGLQuery

WebGLSampler

WebGLSync

  • WebGLSync (Chrome 56, Firefox 51, Safari 15)

WebGLTransformFeedback

WebGLVertexArrayObject

Worklet

WorkletGlobalScope

2020

Animation

AnimationPlaybackEvent

AnimationTimeline

BlobEvent

Clipboard

CSSAnimation

CSSTransition

DocumentTimeline

DragEvent

IntersectionObserver

  • options.root parameter can be a Document (Chrome 81, Firefox 76, Safari 14)

KeyframeEffect

MediaMetadata

MediaQueryListEvent

ResizeObserver

ResizeObserverEntry

RTCDTMFSender

RTCDTMFToneChangeEvent

RTCRtpSender

RTCStatsReport

ServiceWorkerGlobalScope

ShadowRoot

WEBGL_color_buffer_float

WEBGL_debug_shaders

2019

AuthenticatorAssertionResponse

AuthenticatorAttestationResponse

AuthenticatorResponse

ByteLengthQueuingStrategy

CountQueuingStrategy

Credential

CredentialsContainer

CustomElementRegistry

DOMMatrixReadOnly

  • fromFloat32Array() static method (Chrome 61, Firefox 69, Safari 11)
  • fromFloat64Array() static method (Chrome 61, Firefox 69, Safari 11)
  • fromMatrix() static method (Chrome 61, Firefox 69, Safari 11)
  • Available in workers (Chrome 61, Firefox 69, Safari 11)

DOMPoint

  • Available in workers (Chrome 61, Firefox 69, Safari 10.1)

DOMPointReadOnly

  • matrixTransform() (Chrome 61, Firefox 69, Safari 11)
  • Available in workers (Chrome 61, Firefox 69, Safari 10.1)

DOMQuad

  • fromQuad() static method (Chrome 61, Firefox 69, Safari 11)
  • fromRect() static method (Chrome 61, Firefox 69, Safari 11)
  • Available in workers (Chrome 61, Firefox 69, Safari 11)

HTMLDataListElement

HTMLMarqueeElement

  • HTMLMarqueeElement (Chrome 1, Firefox 65, Safari 1.2)
  • HTMLMarqueeElement.behavior (Chrome 10, Firefox 65, Safari 5.1)
  • HTMLMarqueeElement.bgColor (Chrome 10, Firefox 65, Safari 5.1)
  • HTMLMarqueeElement.direction (Chrome 10, Firefox 65, Safari 5.1)
  • HTMLMarqueeElement.height (Chrome 10, Firefox 65, Safari 5.1)
  • HTMLMarqueeElement.hspace (Chrome 10, Firefox 65, Safari 5.1)
  • HTMLMarqueeElement.loop (Chrome 10, Firefox 65, Safari 5.1)
  • HTMLMarqueeElement.scrollAmount (Chrome 10, Firefox 65, Safari 5.1)
  • HTMLMarqueeElement.scrollDelay (Chrome 10, Firefox 65, Safari 5.1)
  • HTMLMarqueeElement.start (Chrome 1, Firefox 65, Safari 1.2)
  • HTMLMarqueeElement.stop (Chrome 1, Firefox 65, Safari 1.2)
  • HTMLMarqueeElement.trueSpeed (Chrome 10, Firefox 65, Safari 5.1)
  • HTMLMarqueeElement.vspace (Chrome 10, Firefox 65, Safari 5.1)
  • HTMLMarqueeElement.width (Chrome 10, Firefox 65, Safari 5.1)

HTMLSlotElement

InputEvent

IntersectionObserver

IntersectionObserverEntry

MediaCapabilities

MediaDevices

  • Secure context required (Chrome 53, Firefox 68, Safari 11)

MediaEncryptedEvent

MediaKeyMessageEvent

MediaKeys

MediaKeySession

MediaKeyStatusMap

MediaKeySystemAccess

MediaStreamAudioSourceNode

MediaStreamTrack

PaymentMethodChangeEvent

PaymentRequest

PaymentResponse

PerformanceObserver

PointerEvent

PromiseRejectionEvent

PublicKeyCredential

queueMicrotask

ReadableStream

ReadableStreamDefaultController

ReadableStreamDefaultReader

RTCCertificate

RTCDataChannel

RTCRtpReceiver

  • RTCRtpReceiver.getContributingSources (Chrome 59, Firefox 59, Safari 12.1)
  • Audio tracks supported (Chrome 59, Firefox 59, Safari 12.1)
  • audioLevel property in returned object (Chrome 73, Firefox 59, Safari 12.1)
  • source property in returned object (Chrome 59, Firefox 59, Safari 12.1)
  • timestamp property in returned object (Chrome 59, Firefox 59, Safari 12.1)
  • Video tracks supported (Chrome 73, Firefox 68, Safari 12.1)
  • RTCRtpReceiver.getStats (Chrome 67, Firefox 55, Safari 12.1)
  • RTCRtpReceiver.getSynchronizationSources (Chrome 73, Firefox 59, Safari 12.1)
  • Audio tracks supported (Chrome 73, Firefox 59, Safari 12.1)
  • Video tracks supported (Chrome 73, Firefox 68, Safari 12.1)

RTCRtpSender

RTCRtpTransceiver

RTCStatsReport

ServiceWorkerContainer

ShadowRoot

StaticRange

2018

AbortSignal

Cache

  • Cache (Chrome 40, Firefox 41, Safari 11.1)
  • Cache.add (Chrome 44, Firefox 41, Safari 11.1)
  • Cache.addAll (Chrome 46, Firefox 41, Safari 11.1)
  • Cache.delete (Chrome 43, Firefox 41, Safari 11.1)
  • Cache.keys (Chrome 43, Firefox 41, Safari 11.1)
  • Cache.match (Chrome 43, Firefox 41, Safari 11.1)
  • Cache.matchAll (Chrome 47, Firefox 41, Safari 11.1)
  • Cache.put (Chrome 43, Firefox 41, Safari 11.1)
  • Available in workers (Chrome 40, Firefox 44, Safari 11.1)

caches

  • caches (Chrome 40, Firefox 41, Safari 11.1)
  • Available in workers (Chrome 40, Firefox 41, Safari 11.1)

Client

Clients

CSSNamespaceRule

CustomElementRegistry

DataTransferItem

DOMMatrixReadOnly

DOMPoint

DOMPointReadOnly

DOMQuad

ExtendableEvent

ExtendableMessageEvent

fetch

  • init.referrerPolicy parameter (Chrome 52, Firefox 52, Safari 11.1)
  • init.signal parameter (Chrome 66, Firefox 57, Safari 11.1)

FetchEvent

FileSystem

FileSystemDirectoryEntry

FileSystemDirectoryReader

FileSystemEntry

FileSystemFileEntry

FontFace

HTMLSlotElement

ImageBitmapRenderingContext

InstallEvent

isSecureContext

  • isSecureContext (Chrome 47, Firefox 49, Safari 11.1)
  • Available in workers (Chrome 55, Firefox 52, Safari 11.1)

MediaStreamTrack

PaymentRequest

PaymentRequestUpdateEvent

PaymentResponse

PerformanceResourceTiming

RTCDataChannel

RTCRtpSender

RTCRtpTransceiver

RTCTrackEvent

SecurityPolicyViolationEvent

ServiceWorker

ServiceWorkerContainer

ServiceWorkerGlobalScope

ServiceWorkerRegistration

ShadowRoot

WEBGL_compressed_texture_astc

WindowClient

2017

ClipboardEvent

CSSNamespaceRule

DOMMatrixReadOnly

DOMPoint

DOMPointReadOnly

DOMQuad

fetch

  • fetch (Chrome 42, Firefox 39, Safari 10.1)
  • Support for blob: and data: (Chrome 48, Firefox 39, Safari 10.1)

Gamepad

GamepadButton

GamepadEvent

Headers

  • Headers (Chrome 42, Firefox 39, Safari 10.1)
  • [Symbol.iterator] (Chrome 42, Firefox 44, Safari 10.1)
  • Headers.append (Chrome 42, Firefox 39, Safari 10.1)
  • Headers.delete (Chrome 42, Firefox 39, Safari 10.1)
  • Headers.entries (Chrome 42, Firefox 44, Safari 10.1)
  • Headers.forEach (Chrome 42, Firefox 47, Safari 10.1)
  • Headers.get (Chrome 42, Firefox 39, Safari 10.1)
  • Headers.has (Chrome 42, Firefox 39, Safari 10.1)
  • Headers() constructor (Chrome 42, Firefox 39, Safari 10.1)
  • Iteration combines duplicate header names (Chrome 57, Firefox 57, Safari 10.1)
  • Iteration is lexicographically sorted (Chrome 57, Firefox 57, Safari 10.1)
  • Headers.keys (Chrome 42, Firefox 44, Safari 10.1)
  • Headers.set (Chrome 42, Firefox 39, Safari 10.1)
  • Headers.values (Chrome 42, Firefox 44, Safari 10.1)

HTMLDataElement

HTMLTimeElement

InputEvent

MediaDeviceInfo

MediaDevices

MediaStreamAudioDestinationNode

MediaStreamAudioSourceNode

MediaStreamEvent

MediaStreamTrack

MediaStreamTrackEvent

origin

  • origin (Chrome 59, Firefox 54, Safari 11)

PerformanceMark

PerformanceMeasure

PerformanceObserver

PerformanceObserverEntryList

PerformanceResourceTiming

RTCDataChannel

RTCDataChannelEvent

RTCRtpReceiver

RTCStatsReport

RTCTrackEvent

TextEncoder

URLSearchParams

WEBGL_debug_renderer_info

2016

DataTransferItem

DataTransferItemList

EXT_frag_depth

EXT_shader_texture_lod

FontFace

FontFaceSet

HTMLDetailsElement

HTMLPictureElement

SpeechSynthesis

SpeechSynthesisErrorEvent

SpeechSynthesisEvent

SpeechSynthesisUtterance

SpeechSynthesisVoice

WebGLContextEvent

Summary

Total Web APIs tracked: 2278

Last updated: 2025-09-14