Encoding APINote: This feature is available in Web Workers. The Encoding API provides a mechanism for handling text in various character encodings, including legacy non-UTF-8 encodings. The API provides four interfaces: TextDecoder, TextEncoder, TextDecoderStream and TextEncoderStream.Interfaces TextDecoder TextEncoder TextDecoderStream TextEncoderStream SpecificationsSpecificationEncoding # interface-textdecoderEncoding # interface-textencoderEncoding # interface-textencoderstreamEncoding # interface-textdecoderstreamBrowser compatibilityapi.TextDecoderdesktopmobileserverChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung InternetWebView AndroidWebView on iOSDenoNode.jsTextDecoderChrome – Full supportChrome38Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox19moreToggle historyOpera – Full supportOpera25Toggle historySafari – Full supportSafari10.1Toggle historyChrome Android – Full supportChrome Android38Toggle historyFirefox for Android – Full supportFirefox for Android19moreToggle historyOpera Android – Full supportOpera Android25Toggle historySafari on iOS – Full supportSafari on iOS10.3Toggle historySamsung Internet – Full supportSamsung Internet3.0Toggle historyWebView Android – Full supportWebView Android38Toggle historyWebView on iOS – Full supportWebView on iOS10.3Toggle historyDeno – Full supportDeno1.0Toggle historyNode.js – Full supportNode.js11.0.0moreToggle historyTextDecoder() constructorChrome – Full supportChrome38Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox19moreToggle historyOpera – Full supportOpera25Toggle historySafari – Full supportSafari10.1Toggle historyChrome Android – Full supportChrome Android38Toggle historyFirefox for Android – Full supportFirefox for Android19moreToggle historyOpera Android – Full supportOpera Android25Toggle historySafari on iOS – Full supportSafari on iOS10.3Toggle historySamsung Internet – Full supportSamsung Internet3.0Toggle historyWebView Android – Full supportWebView Android38Toggle historyWebView on iOS – Full supportWebView on iOS10.3Toggle historyDeno – Full supportDeno1.0Toggle historyNode.js – Full supportNode.js8.3.0Toggle historydecodeChrome – Full supportChrome38Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox19moreToggle historyOpera – Full supportOpera25Toggle historySafari – Full supportSafari10.1Toggle historyChrome Android – Full supportChrome Android38Toggle historyFirefox for Android – Full supportFirefox for Android19moreToggle historyOpera Android – Full supportOpera Android25Toggle historySafari on iOS – Full supportSafari on iOS10.3Toggle historySamsung Internet – Full supportSamsung Internet3.0Toggle historyWebView Android – Full supportWebView Android38Toggle historyWebView on iOS – Full supportWebView on iOS10.3Toggle historyDeno – Full supportDeno1.0footnoteToggle historyNode.js – Full supportNode.js8.3.0Toggle historyencodingChrome – Full supportChrome38Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox19moreToggle historyOpera – Full supportOpera25Toggle historySafari – Full supportSafari10.1Toggle historyChrome Android – Full supportChrome Android38Toggle historyFirefox for Android – Full supportFirefox for Android19moreToggle historyOpera Android – Full supportOpera Android25Toggle historySafari on iOS – Full supportSafari on iOS10.3Toggle historySamsung Internet – Full supportSamsung Internet3.0Toggle historyWebView Android – Full supportWebView Android38Toggle historyWebView on iOS – Full supportWebView on iOS10.3Toggle historyDeno – Full supportDeno1.0Toggle historyNode.js – Full supportNode.js8.3.0Toggle historyfatalChrome – Full supportChrome38Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox36Toggle historyOpera – Full supportOpera25Toggle historySafari – Full supportSafari10.1Toggle historyChrome Android – Full supportChrome Android38Toggle historyFirefox for Android – Full supportFirefox for Android36Toggle historyOpera Android – Full supportOpera Android25Toggle historySafari on iOS – Full supportSafari on iOS10.3Toggle historySamsung Internet – Full supportSamsung Internet3.0Toggle historyWebView Android – Full supportWebView Android38Toggle historyWebView on iOS – Full supportWebView on iOS10.3Toggle historyDeno – Full supportDeno1.0Toggle historyNode.js – Full supportNode.js8.3.0Toggle historyignoreBOMChrome – Full supportChrome38Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox63Toggle historyOpera – Full supportOpera25Toggle historySafari – Full supportSafari10.1Toggle historyChrome Android – Full supportChrome Android38Toggle historyFirefox for Android – Full supportFirefox for Android63Toggle historyOpera Android – Full supportOpera Android25Toggle historySafari on iOS – Full supportSafari on iOS10.3Toggle historySamsung Internet – Full supportSamsung Internet3.0Toggle historyWebView Android – Full supportWebView Android38Toggle historyWebView on iOS – Full supportWebView on iOS10.3Toggle historyDeno – Full supportDeno1.0Toggle historyNode.js – Full supportNode.js8.3.0Toggle historyAvailable in workersChrome – Full supportChrome38Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox20Toggle historyOpera – Full supportOpera25Toggle historySafari – Full supportSafari10.1Toggle historyChrome Android – Full supportChrome Android38Toggle historyFirefox for Android – Full supportFirefox for Android20Toggle historyOpera Android – Full supportOpera Android25Toggle historySafari on iOS – Full supportSafari on iOS10.3Toggle historySamsung Internet – Full supportSamsung Internet3.0Toggle historyWebView Android – Full supportWebView Android38Toggle historyWebView on iOS – Full supportWebView on iOS10.3Toggle historyDeno – Full supportDeno1.0Toggle historyNode.js – Full supportNode.js11.7.0Toggle historyapi.TextEncoderdesktopmobileserverChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung InternetWebView AndroidWebView on iOSDenoNode.jsTextEncoderChrome – Full supportChrome38Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox18Toggle historyOpera – Full supportOpera25Toggle historySafari – Full supportSafari10.1Toggle historyChrome Android – Full supportChrome Android38Toggle historyFirefox for Android – Full supportFirefox for Android18Toggle historyOpera Android – Full supportOpera Android25Toggle historySafari on iOS – Full supportSafari on iOS10.3Toggle historySamsung Internet – Full supportSamsung Internet3.0Toggle historyWebView Android – Full supportWebView Android38Toggle historyWebView on iOS – Full supportWebView on iOS10.3Toggle historyDeno – Full supportDeno1.0Toggle historyNode.js – Full supportNode.js11.0.0moreToggle historyTextEncoder() constructorChrome – Full supportChrome38Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox18Toggle historyOpera – Full supportOpera25Toggle historySafari – Full supportSafari10.1Toggle historyChrome Android – Full supportChrome Android38Toggle historyFirefox for Android – Full supportFirefox for Android18Toggle historyOpera Android – Full supportOpera Android25Toggle historySafari on iOS – Full supportSafari on iOS10.3Toggle historySamsung Internet – Full supportSamsung Internet3.0Toggle historyWebView Android – Full supportWebView Android38Toggle historyWebView on iOS – Full supportWebView on iOS10.3Toggle historyDeno – Full supportDeno1.0Toggle historyNode.js – Full supportNode.js8.3.0Toggle historyencodeChrome – Full supportChrome38Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox18Toggle historyOpera – Full supportOpera25Toggle historySafari – Full supportSafari10.1Toggle historyChrome Android – Full supportChrome Android38Toggle historyFirefox for Android – Full supportFirefox for Android18Toggle historyOpera Android – Full supportOpera Android25Toggle historySafari on iOS – Full supportSafari on iOS10.3Toggle historySamsung Internet – Full supportSamsung Internet3.0Toggle historyWebView Android – Full supportWebView Android38Toggle historyWebView on iOS – Full supportWebView on iOS10.3Toggle historyDeno – Full supportDeno1.0Toggle historyNode.js – Full supportNode.js8.3.0Toggle historyencodeIntoChrome – Full supportChrome74Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox66Toggle historyOpera – Full supportOpera62Toggle historySafari – Full supportSafari14.1Toggle historyChrome Android – Full supportChrome Android74Toggle historyFirefox for Android – Full supportFirefox for Android66Toggle historyOpera Android – Full supportOpera Android50Toggle historySafari on iOS – Full supportSafari on iOS14.5Toggle historySamsung Internet – Full supportSamsung Internet11.0Toggle historyWebView Android – Full supportWebView Android74Toggle historyWebView on iOS – Full supportWebView on iOS14.5Toggle historyDeno – Full supportDeno1.0Toggle historyNode.js – Full supportNode.js12.11.0Toggle historyencodingChrome – Full supportChrome38Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox18Toggle historyOpera – Full supportOpera25Toggle historySafari – Full supportSafari10.1Toggle historyChrome Android – Full supportChrome Android38Toggle historyFirefox for Android – Full supportFirefox for Android18Toggle historyOpera Android – Full supportOpera Android25Toggle historySafari on iOS – Full supportSafari on iOS10.3Toggle historySamsung Internet – Full supportSamsung Internet3.0Toggle historyWebView Android – Full supportWebView Android38Toggle historyWebView on iOS – Full supportWebView on iOS10.3Toggle historyDeno – Full supportDeno1.0Toggle historyNode.js – Full supportNode.js8.3.0Toggle historyAvailable in workersChrome – Full supportChrome38Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox20Toggle historyOpera – Full supportOpera25Toggle historySafari – Full supportSafari10.1Toggle historyChrome Android – Full supportChrome Android38Toggle historyFirefox for Android – Full supportFirefox for Android20Toggle historyOpera Android – Full supportOpera Android25Toggle historySafari on iOS – Full supportSafari on iOS10.3Toggle historySamsung Internet – Full supportSamsung Internet3.0Toggle historyWebView Android – Full supportWebView Android38Toggle historyWebView on iOS – Full supportWebView on iOS10.3Toggle historyDeno – Full supportDeno1.0Toggle historyNode.js – Full supportNode.js11.7.0Toggle historyapi.TextEncoderStreamdesktopmobileserverChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung InternetWebView AndroidWebView on iOSDenoNode.jsTextEncoderStreamChrome – Full supportChrome71Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox105Toggle historyOpera – Full supportOpera58Toggle historySafari – Full supportSafari14.1Toggle historyChrome Android – Full supportChrome Android71Toggle historyFirefox for Android – Full supportFirefox for Android105Toggle historyOpera Android – Full supportOpera Android50Toggle historySafari on iOS – Full supportSafari on iOS14.5Toggle historySamsung Internet – Full supportSamsung Internet10.0Toggle historyWebView Android – Full supportWebView Android71Toggle historyWebView on iOS – Full supportWebView on iOS14.5Toggle historyDeno – Full supportDeno1.11Toggle historyNode.js – Full supportNode.js18.0.0moreToggle historyTextEncoderStream() constructorChrome – Full supportChrome71Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox105Toggle historyOpera – Full supportOpera58Toggle historySafari – Full supportSafari14.1Toggle historyChrome Android – Full supportChrome Android71Toggle historyFirefox for Android – Full supportFirefox for Android105Toggle historyOpera Android – Full supportOpera Android50Toggle historySafari on iOS – Full supportSafari on iOS14.5Toggle historySamsung Internet – Full supportSamsung Internet10.0Toggle historyWebView Android – Full supportWebView Android71Toggle historyWebView on iOS – Full supportWebView on iOS14.5Toggle historyDeno – Full supportDeno1.11Toggle historyNode.js – Full supportNode.js16.6.0Toggle historyencodingChrome – Full supportChrome71Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox105Toggle historyOpera – Full supportOpera58Toggle historySafari – Full supportSafari14.1Toggle historyChrome Android – Full supportChrome Android71Toggle historyFirefox for Android – Full supportFirefox for Android105Toggle historyOpera Android – Full supportOpera Android50Toggle historySafari on iOS – Full supportSafari on iOS14.5Toggle historySamsung Internet – Full supportSamsung Internet10.0Toggle historyWebView Android – Full supportWebView Android71Toggle historyWebView on iOS – Full supportWebView on iOS14.5Toggle historyDeno – Full supportDeno1.11Toggle historyNode.js – Full supportNode.js16.6.0Toggle historyreadableChrome – Full supportChrome71Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox105Toggle historyOpera – Full supportOpera58Toggle historySafari – Full supportSafari14.1Toggle historyChrome Android – Full supportChrome Android71Toggle historyFirefox for Android – Full supportFirefox for Android105Toggle historyOpera Android – Full supportOpera Android50Toggle historySafari on iOS – Full supportSafari on iOS14.5Toggle historySamsung Internet – Full supportSamsung Internet10.0Toggle historyWebView Android – Full supportWebView Android71Toggle historyWebView on iOS – Full supportWebView on iOS14.5Toggle historyDeno – Full supportDeno1.11Toggle historyNode.js – Full supportNode.js16.6.0Toggle historywritableChrome – Full supportChrome71Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox105Toggle historyOpera – Full supportOpera58Toggle historySafari – Full supportSafari14.1Toggle historyChrome Android – Full supportChrome Android71Toggle historyFirefox for Android – Full supportFirefox for Android105Toggle historyOpera Android – Full supportOpera Android50Toggle historySafari on iOS – Full supportSafari on iOS14.5Toggle historySamsung Internet – Full supportSamsung Internet10.0Toggle historyWebView Android – Full supportWebView Android71Toggle historyWebView on iOS – Full supportWebView on iOS14.5Toggle historyDeno – Full supportDeno1.11Toggle historyNode.js – Full supportNode.js16.6.0Toggle historyapi.TextDecoderStreamdesktopmobileserverChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung InternetWebView AndroidWebView on iOSDenoNode.jsTextDecoderStreamChrome – Full supportChrome71Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox105Toggle historyOpera – Full supportOpera58Toggle historySafari – Full supportSafari14.1Toggle historyChrome Android – Full supportChrome Android71Toggle historyFirefox for Android – Full supportFirefox for Android105Toggle historyOpera Android – Full supportOpera Android50Toggle historySafari on iOS – Full supportSafari on iOS14.5Toggle historySamsung Internet – Full supportSamsung Internet10.0Toggle historyWebView Android – Full supportWebView Android71Toggle historyWebView on iOS – Full supportWebView on iOS14.5Toggle historyDeno – Full supportDeno1.11Toggle historyNode.js – Full supportNode.js18.0.0moreToggle historyTextDecoderStream() constructorChrome – Full supportChrome71Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox105Toggle historyOpera – Full supportOpera58Toggle historySafari – Full supportSafari14.1Toggle historyChrome Android – Full supportChrome Android71Toggle historyFirefox for Android – Full supportFirefox for Android105Toggle historyOpera Android – Full supportOpera Android50Toggle historySafari on iOS – Full supportSafari on iOS14.5Toggle historySamsung Internet – Full supportSamsung Internet10.0Toggle historyWebView Android – Full supportWebView Android71Toggle historyWebView on iOS – Full supportWebView on iOS14.5Toggle historyDeno – Full supportDeno1.11Toggle historyNode.js – Full supportNode.js16.6.0Toggle historyencodingChrome – Full supportChrome71Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox105Toggle historyOpera – Full supportOpera58Toggle historySafari – Full supportSafari14.1Toggle historyChrome Android – Full supportChrome Android71Toggle historyFirefox for Android – Full supportFirefox for Android105Toggle historyOpera Android – Full supportOpera Android50Toggle historySafari on iOS – Full supportSafari on iOS14.5Toggle historySamsung Internet – Full supportSamsung Internet10.0Toggle historyWebView Android – Full supportWebView Android71Toggle historyWebView on iOS – Full supportWebView on iOS14.5Toggle historyDeno – Full supportDeno1.11Toggle historyNode.js – Full supportNode.js16.6.0Toggle historyfatalChrome – Full supportChrome71Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox105Toggle historyOpera – Full supportOpera58Toggle historySafari – Full supportSafari14.1Toggle historyChrome Android – Full supportChrome Android71Toggle historyFirefox for Android – Full supportFirefox for Android105Toggle historyOpera Android – Full supportOpera Android50Toggle historySafari on iOS – Full supportSafari on iOS14.5Toggle historySamsung Internet – Full supportSamsung Internet10.0Toggle historyWebView Android – Full supportWebView Android71Toggle historyWebView on iOS – Full supportWebView on iOS14.5Toggle historyDeno – Full supportDeno1.11Toggle historyNode.js – Full supportNode.js16.6.0Toggle historyignoreBOMChrome – Full supportChrome71Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox105Toggle historyOpera – Full supportOpera58Toggle historySafari – Full supportSafari14.1Toggle historyChrome Android – Full supportChrome Android71Toggle historyFirefox for Android – Full supportFirefox for Android105Toggle historyOpera Android – Full supportOpera Android50Toggle historySafari on iOS – Full supportSafari on iOS14.5Toggle historySamsung Internet – Full supportSamsung Internet10.0Toggle historyWebView Android – Full supportWebView Android71Toggle historyWebView on iOS – Full supportWebView on iOS14.5Toggle historyDeno – Full supportDeno1.11Toggle historyNode.js – Full supportNode.js16.6.0Toggle historyreadableChrome – Full supportChrome71Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox105Toggle historyOpera – Full supportOpera58Toggle historySafari – Full supportSafari14.1Toggle historyChrome Android – Full supportChrome Android71Toggle historyFirefox for Android – Full supportFirefox for Android105Toggle historyOpera Android – Full supportOpera Android50Toggle historySafari on iOS – Full supportSafari on iOS14.5Toggle historySamsung Internet – Full supportSamsung Internet10.0Toggle historyWebView Android – Full supportWebView Android71Toggle historyWebView on iOS – Full supportWebView on iOS14.5Toggle historyDeno – Full supportDeno1.11Toggle historyNode.js – Full supportNode.js16.6.0Toggle historywritableChrome – Full supportChrome71Toggle historyEdge – Full supportEdge79Toggle historyFirefox – Full supportFirefox105Toggle historyOpera – Full supportOpera58Toggle historySafari – Full supportSafari14.1Toggle historyChrome Android – Full supportChrome Android71Toggle historyFirefox for Android – Full supportFirefox for Android105Toggle historyOpera Android – Full supportOpera Android50Toggle historySafari on iOS – Full supportSafari on iOS14.5Toggle historySamsung Internet – Full supportSamsung Internet10.0Toggle historyWebView Android – Full supportWebView Android71Toggle historyWebView on iOS – Full supportWebView on iOS14.5Toggle historyDeno – Full supportDeno1.11Toggle historyNode.js – Full supportNode.js16.6.0Toggle historySee also Encoding API Encodings - Encodings that must be supported for decoding text. A polyfill allowing to use this interface in browsers that don't support it