TextDecoder

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

 

The TextDecoder interface represents a decoder for a specific method, that is a specific character encoding, like utf-8, iso-8859-2, koi8, cp1261, gbk, etc. A decoder takes a stream of bytes as input and emits a stream of code points. For a more scalable, non-native library, see StringView – a C-like representation of strings based on typed arrays.

Example

let win1251decoder = new TextDecoder('windows-1251');
let bytes = new Uint8Array([207, 240, 232, 226, 229, 242, 44, 32, 236, 232, 240, 33]);
console.log(win1251decoder.decode(bytes)); // Привет, мир!

Constructor

TextDecoder()
Returns a newly constructed TextDecoder that will generate a code point stream with the decoding method specified in parameters.

Properties

The TextDecoder interface doesn't inherit any properties.

TextDecoder.encoding Read only
Is a DOMString containing the name of the decoder, that is a string describing the method the TextDecoder will use.
TextDecoder.fatal Read only
Is a Boolean indicating whether the error mode is fatal.
TextDecoder.ignoreBOM Read only
Is a Boolean indicating whether the byte order marker is ignored.

Methods

The TextDecoder interface doesn't inherit any method.

TextDecoder.decode()
Returns a DOMString containing the text decoded with the method of the specific TextDecoder object.

Specifications

Specification Status Comment
Encoding
The definition of 'TextDecoder' in that specification.
Living Standard Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic supportChrome Full support 38Edge ? Firefox Full support 19
Full support 19
Partial support 18
Notes
Notes Implemented a slightly different version of the spec.
IE No support NoOpera Full support 25Safari Full support 10.1WebView Android Full support 38Chrome Android Full support 38Edge Mobile ? Firefox Android Full support 19
Full support 19
Partial support 18
Notes
Notes Implemented a slightly different version of the spec.
Opera Android ? Safari iOS No support NoSamsung Internet Android ?
Available in workersChrome Full support 38Edge ? Firefox Full support 20IE No support NoOpera Full support 25Safari ? WebView Android Full support 38Chrome Android Full support 38Edge Mobile ? Firefox Android Full support 20Opera Android ? Safari iOS No support NoSamsung Internet Android ?
TextDecoder() constructorChrome Full support 38Edge ? Firefox Full support 19
Full support 19
Partial support 18
Notes
Notes Implemented a slightly different version of the spec.
IE No support NoOpera Full support 25Safari Full support 10.1WebView Android Full support 38Chrome Android Full support 38Edge Mobile ? Firefox Android Full support 19
Full support 19
Partial support 18
Notes
Notes Implemented a slightly different version of the spec.
Opera Android ? Safari iOS No support NoSamsung Internet Android ?
decodeChrome Full support 38Edge ? Firefox Full support 19
Full support 19
Partial support 18
Notes
Notes Implemented a slightly different version of the spec.
IE No support NoOpera Full support 25Safari No support NoWebView Android Full support 38Chrome Android Full support 38Edge Mobile ? Firefox Android Full support 19
Full support 19
Partial support 18
Notes
Notes Implemented a slightly different version of the spec.
Opera Android ? Safari iOS No support NoSamsung Internet Android ?
encodingChrome Full support 38Edge ? Firefox Full support 19
Full support 19
Partial support 18
Notes
Notes Implemented a slightly different version of the spec.
IE No support NoOpera Full support 25Safari No support NoWebView Android Full support 38Chrome Android Full support 38Edge Mobile ? Firefox Android Full support 19
Full support 19
Partial support 18
Notes
Notes Implemented a slightly different version of the spec.
Opera Android ? Safari iOS No support NoSamsung Internet Android ?
fatalChrome ? Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
ignoreBOMChrome ? Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
See implementation notes.
See implementation notes.

See also

Document Tags and Contributors

Last updated by: fscholz,