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
TextDecoderthat will generate a code point stream with the decoding method specified in parameters.
Properties
The TextDecoder interface doesn't inherit any properties.
TextDecoder.encodingRead only- Is a
DOMStringcontaining the name of the decoder, that is a string describing the method theTextDecoderwill use. TextDecoder.fatalRead only- Is a
Booleanindicating whether the error mode is fatal. TextDecoder.ignoreBOMRead only- Is a
Booleanindicating whether the byte order marker is ignored.
Methods
The TextDecoder interface doesn't inherit any method.
TextDecoder.decode()- Returns a
DOMStringcontaining the text decoded with the method of the specificTextDecoderobject.
Specifications
| Specification | Status | Comment |
|---|---|---|
| Encoding The definition of 'TextDecoder' in that specification. |
Living Standard | Initial definition. |
Browser compatibility
| Desktop | Mobile | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TextDecoder | Chrome Full support 38 | Edge ? | Firefox
Full support
19
| IE No support No | Opera Full support 25 | Safari Full support 10.1 | WebView Android Full support 38 | Chrome Android Full support 38 | Edge Mobile ? | Firefox Android
Full support
19
| Opera Android ? | Safari iOS Full support 10.1 | Samsung Internet Android ? |
| Available in workers | Chrome Full support 38 | Edge ? | Firefox Full support 20 | IE No support No | Opera Full support 25 | Safari Full support 10.1 | WebView Android Full support 38 | Chrome Android Full support 38 | Edge Mobile ? | Firefox Android Full support 20 | Opera Android ? | Safari iOS Full support 10.1 | Samsung Internet Android ? |
TextDecoder() constructor | Chrome Full support 38 | Edge ? | Firefox
Full support
19
| IE No support No | Opera Full support 25 | Safari Full support 10.1 | WebView Android Full support 38 | Chrome Android Full support 38 | Edge Mobile ? | Firefox Android
Full support
19
| Opera Android ? | Safari iOS Full support 10.1 | Samsung Internet Android ? |
decode | Chrome Full support 38 | Edge ? | Firefox
Full support
19
| IE No support No | Opera Full support 25 | Safari Full support 10.1 | WebView Android Full support 38 | Chrome Android Full support 38 | Edge Mobile ? | Firefox Android
Full support
19
| Opera Android ? | Safari iOS Full support 10.1 | Samsung Internet Android ? |
encoding | Chrome Full support 38 | Edge ? | Firefox
Full support
19
| IE No support No | Opera Full support 25 | Safari Full support 10.1 | WebView Android Full support 38 | Chrome Android Full support 38 | Edge Mobile ? | Firefox Android
Full support
19
| Opera Android ? | Safari iOS Full support 10.1 | Samsung Internet Android ? |
fatal | Chrome ? | Edge ? | Firefox ? | IE No support No | Opera ? | Safari Full support 10.1 | WebView Android ? | Chrome Android ? | Edge Mobile ? | Firefox Android ? | Opera Android ? | Safari iOS Full support 10.1 | Samsung Internet Android ? |
ignoreBOM | Chrome ? | Edge ? | Firefox ? | IE No support No | Opera ? | Safari Full support 10.1 | WebView Android ? | Chrome Android ? | Edge Mobile ? | Firefox Android ? | Opera Android ? | Safari iOS Full support 10.1 | Samsung Internet Android ? |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
- See implementation notes.
- See implementation notes.
See also
- The
TextEncoderinterface describing the inverse operation. StringView– a C-like representation of strings based on typed arrays- A shim allowing to use this interface in browsers that don't support it.
Components.utils.importGlobalProperties

