BASELINE NowYouCanUse.com
Widely Available WebRTC
id: webrtc

WebRTC

The WebRTC API establishes real-time communication channels directly between browsers. It is commonly used in video conferencing applications.
Baseline Status: Achieved Widely Available on Jul 15, 2022 (Cross-browser Newly Available since Jan 15, 2020).
Desktop Browser Engine Support
Google Chrome
56
Supported
Mozilla Firefox
22
Supported
Apple Safari
11
Supported
Microsoft Edge
79
Supported
Mobile Browser Engine Support
Chrome Android
56
Firefox Android
24
Safari iOS
11
Specifications and References
MDN Browser Compat Data Keys:
api.RTCCertificate api.RTCCertificate.expires api.RTCCertificate.getFingerprints api.RTCDTMFSender api.RTCDTMFSender.canInsertDTMF api.RTCDTMFSender.insertDTMF api.RTCDTMFSender.toneBuffer api.RTCDTMFSender.tonechange_event api.RTCDTMFToneChangeEvent api.RTCDTMFToneChangeEvent.RTCDTMFToneChangeEvent api.RTCDTMFToneChangeEvent.tone api.RTCDataChannel api.RTCDataChannel.binaryType api.RTCDataChannel.binaryType.arraybuffer_value api.RTCDataChannel.binaryType.blob_value api.RTCDataChannel.bufferedAmount api.RTCDataChannel.bufferedAmountLowThreshold api.RTCDataChannel.bufferedamountlow_event api.RTCDataChannel.close api.RTCDataChannel.close_event api.RTCDataChannel.closing_event api.RTCDataChannel.error_event api.RTCDataChannel.id api.RTCDataChannel.label api.RTCDataChannel.maxPacketLifeTime api.RTCDataChannel.maxRetransmits api.RTCDataChannel.message_event api.RTCDataChannel.negotiated api.RTCDataChannel.open_event api.RTCDataChannel.ordered api.RTCDataChannel.protocol api.RTCDataChannel.readyState api.RTCDataChannel.sctp_sdp_21 api.RTCDataChannel.send api.RTCDataChannel.transferable api.RTCDataChannelEvent api.RTCDataChannelEvent.RTCDataChannelEvent api.RTCDataChannelEvent.channel api.RTCDtlsTransport api.RTCDtlsTransport.error_event api.RTCDtlsTransport.getRemoteCertificates api.RTCDtlsTransport.iceTransport api.RTCDtlsTransport.state api.RTCDtlsTransport.statechange_event api.RTCError api.RTCError.RTCError api.RTCError.errorDetail api.RTCError.receivedAlert api.RTCError.sctpCauseCode api.RTCError.sdpLineNumber api.RTCError.sentAlert api.RTCErrorEvent api.RTCErrorEvent.RTCErrorEvent api.RTCErrorEvent.error api.RTCIceCandidate api.RTCIceCandidate.RTCIceCandidate api.RTCIceCandidate.address api.RTCIceCandidate.candidate api.RTCIceCandidate.component api.RTCIceCandidate.foundation api.RTCIceCandidate.port api.RTCIceCandidate.priority api.RTCIceCandidate.protocol api.RTCIceCandidate.relatedAddress api.RTCIceCandidate.relatedPort api.RTCIceCandidate.relayProtocol api.RTCIceCandidate.sdpMLineIndex api.RTCIceCandidate.sdpMid api.RTCIceCandidate.tcpType api.RTCIceCandidate.toJSON api.RTCIceCandidate.type api.RTCIceCandidate.url api.RTCIceCandidate.usernameFragment api.RTCIceTransport api.RTCIceTransport.gatheringState api.RTCIceTransport.gatheringstatechange_event api.RTCIceTransport.getLocalCandidates api.RTCIceTransport.getLocalParameters api.RTCIceTransport.getRemoteCandidates api.RTCIceTransport.getRemoteParameters api.RTCIceTransport.getSelectedCandidatePair api.RTCIceTransport.role api.RTCIceTransport.selectedcandidatepairchange_event api.RTCIceTransport.state api.RTCIceTransport.statechange_event api.RTCPeerConnection api.RTCPeerConnection.RTCPeerConnection api.RTCPeerConnection.RTCPeerConnection.configuration_bundlePolicy_parameter api.RTCPeerConnection.RTCPeerConnection.configuration_certificates_parameter api.RTCPeerConnection.RTCPeerConnection.configuration_iceCandidatePoolSize_parameter api.RTCPeerConnection.RTCPeerConnection.configuration_iceServers_parameter api.RTCPeerConnection.RTCPeerConnection.configuration_iceServers_parameter.credential_parameter api.RTCPeerConnection.RTCPeerConnection.configuration_iceServers_parameter.urls_parameter api.RTCPeerConnection.RTCPeerConnection.configuration_iceServers_parameter.username_parameter api.RTCPeerConnection.RTCPeerConnection.configuration_iceTransportPolicy_parameter api.RTCPeerConnection.RTCPeerConnection.configuration_peerIdentity_parameter api.RTCPeerConnection.RTCPeerConnection.configuration_rtcpMuxPolicy_parameter api.RTCPeerConnection.addIceCandidate api.RTCPeerConnection.addIceCandidate.returns_promise api.RTCPeerConnection.addTrack api.RTCPeerConnection.addTransceiver api.RTCPeerConnection.addTransceiver.init_direction_parameter api.RTCPeerConnection.addTransceiver.init_sendEncodings_parameter api.RTCPeerConnection.addTransceiver.init_streams_parameter api.RTCPeerConnection.canTrickleIceCandidates api.RTCPeerConnection.close api.RTCPeerConnection.connectionState api.RTCPeerConnection.connectionstatechange_event api.RTCPeerConnection.createAnswer api.RTCPeerConnection.createAnswer.returns_promise api.RTCPeerConnection.createDataChannel api.RTCPeerConnection.createOffer api.RTCPeerConnection.createOffer.returns_promise api.RTCPeerConnection.currentLocalDescription api.RTCPeerConnection.currentRemoteDescription api.RTCPeerConnection.datachannel_event api.RTCPeerConnection.generateCertificate_static api.RTCPeerConnection.getConfiguration api.RTCPeerConnection.getReceivers api.RTCPeerConnection.getReceivers.stopped_transceivers_removed api.RTCPeerConnection.getSenders api.RTCPeerConnection.getSenders.stopped_transceivers_removed api.RTCPeerConnection.getTransceivers api.RTCPeerConnection.getTransceivers.stopped_transceivers_removed api.RTCPeerConnection.iceConnectionState api.RTCPeerConnection.iceGatheringState api.RTCPeerConnection.icecandidate_event api.RTCPeerConnection.icecandidateerror_event api.RTCPeerConnection.iceconnectionstatechange_event api.RTCPeerConnection.icegatheringstatechange_event api.RTCPeerConnection.localDescription api.RTCPeerConnection.negotiationneeded_event api.RTCPeerConnection.pendingLocalDescription api.RTCPeerConnection.pendingRemoteDescription api.RTCPeerConnection.remoteDescription api.RTCPeerConnection.removeTrack api.RTCPeerConnection.restartIce api.RTCPeerConnection.setConfiguration api.RTCPeerConnection.setLocalDescription api.RTCPeerConnection.setLocalDescription.description_parameter_optional api.RTCPeerConnection.setLocalDescription.returns_promise api.RTCPeerConnection.setRemoteDescription api.RTCPeerConnection.setRemoteDescription.implicit_rollback api.RTCPeerConnection.setRemoteDescription.returns_promise api.RTCPeerConnection.signalingState api.RTCPeerConnection.signalingstatechange_event api.RTCPeerConnection.track_event api.RTCPeerConnectionIceErrorEvent api.RTCPeerConnectionIceErrorEvent.RTCPeerConnectionIceErrorEvent api.RTCPeerConnectionIceErrorEvent.address api.RTCPeerConnectionIceErrorEvent.errorCode api.RTCPeerConnectionIceErrorEvent.errorText api.RTCPeerConnectionIceErrorEvent.port api.RTCPeerConnectionIceErrorEvent.url api.RTCPeerConnectionIceEvent api.RTCPeerConnectionIceEvent.RTCPeerConnectionIceEvent api.RTCPeerConnectionIceEvent.candidate api.RTCRtpReceiver api.RTCRtpReceiver.createEncodedStreams api.RTCRtpReceiver.getCapabilities_static api.RTCRtpReceiver.getContributingSources api.RTCRtpReceiver.getContributingSources.audioLevel api.RTCRtpReceiver.getContributingSources.audio_tracks_supported api.RTCRtpReceiver.getContributingSources.rtpTimestamp api.RTCRtpReceiver.getContributingSources.source api.RTCRtpReceiver.getContributingSources.timestamp api.RTCRtpReceiver.getContributingSources.video_tracks_supported api.RTCRtpReceiver.getParameters api.RTCRtpReceiver.getParameters.return_object_property_codecs api.RTCRtpReceiver.getParameters.return_object_property_headerExtensions api.RTCRtpReceiver.getParameters.return_object_property_rtcp api.RTCRtpReceiver.getSynchronizationSources api.RTCRtpReceiver.getSynchronizationSources.audio_tracks_supported api.RTCRtpReceiver.getSynchronizationSources.video_tracks_supported api.RTCRtpReceiver.jitterBufferTarget api.RTCRtpReceiver.track api.RTCRtpReceiver.transport api.RTCRtpSender api.RTCRtpSender.createEncodedStreams api.RTCRtpSender.dtmf api.RTCRtpSender.getCapabilities_static api.RTCRtpSender.getParameters api.RTCRtpSender.getParameters.return_object_property_codecs api.RTCRtpSender.getParameters.return_object_property_encodings api.RTCRtpSender.getParameters.return_object_property_headerExtensions api.RTCRtpSender.getParameters.return_object_property_rtcp api.RTCRtpSender.getParameters.return_object_property_transactionId api.RTCRtpSender.replaceTrack api.RTCRtpSender.setParameters api.RTCRtpSender.setParameters.parameters_codecs_parameter api.RTCRtpSender.setParameters.parameters_encodings_parameter api.RTCRtpSender.setParameters.parameters_encodings_parameter.active api.RTCRtpSender.setParameters.parameters_encodings_parameter.maxBitrate api.RTCRtpSender.setParameters.parameters_encodings_parameter.maxFramerate api.RTCRtpSender.setParameters.parameters_encodings_parameter.rid api.RTCRtpSender.setParameters.parameters_encodings_parameter.scaleResolutionDownBy api.RTCRtpSender.setParameters.parameters_headerExtensions_parameter api.RTCRtpSender.setParameters.parameters_rtcp_parameter api.RTCRtpSender.setParameters.parameters_transactionId_parameter api.RTCRtpSender.setStreams api.RTCRtpSender.track api.RTCRtpSender.transport api.RTCRtpTransceiver api.RTCRtpTransceiver.currentDirection api.RTCRtpTransceiver.currentDirection.stopped_value api.RTCRtpTransceiver.direction api.RTCRtpTransceiver.direction.value_stopped api.RTCRtpTransceiver.getHeaderExtensionsToNegotiate api.RTCRtpTransceiver.getNegotiatedHeaderExtensions api.RTCRtpTransceiver.mid api.RTCRtpTransceiver.receiver api.RTCRtpTransceiver.sender api.RTCRtpTransceiver.setCodecPreferences api.RTCRtpTransceiver.setHeaderExtensionsToNegotiate api.RTCRtpTransceiver.stop api.RTCSessionDescription api.RTCSessionDescription.sdp api.RTCSessionDescription.toJSON api.RTCSessionDescription.type api.RTCTrackEvent api.RTCTrackEvent.RTCTrackEvent api.RTCTrackEvent.receiver api.RTCTrackEvent.streams api.RTCTrackEvent.track api.RTCTrackEvent.transceiver