This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
TextEncoder takes a stream of code points as input and emits a stream of bytes. For a more scalable, non-native library, see StringView – a C-like representation of strings based on typed arrays.
Note: Firefox, Chrome and Opera used to have support for encoding types other than utf-8 (such as utf-16, iso-8859-2, koi8, cp1261, and gbk). As of Firefox 48 (ticket), Chrome 54 (ticket) and Opera 41, no other encoding types are available other than utf-8, in order to match the spec. In all cases, passing in an encoding type to the constructor will be ignored and a utf-8 TextEncoder will be created (the TextDecoder still allows for other decoding types).
Note: There is a polyfill implementation to support all the legacy encodings in GitHub.
Constructor
TextEncoder()- Returns a newly constructed
TextEncoderthat will generate a byte stream with utf-8 encoding.
Properties
The TextEncoder interface doesn't inherit any property.
TextEncoder.encodingRead only- Is a
DOMStringcontaining the name of the encoder, that is a string describing the method theTextEncoderwill use.
Methods
The TextEncoder interface doesn't inherit any method.
TextEncoder.encode()- Returns a
Uint8Arraycontaining utf-8 encoded text.
Specifications
| Specification | Status | Comment |
|---|---|---|
| Encoding The definition of 'TextEncoder' in that specification. |
Living Standard | Initial definition. |
Browser compatibility
We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| Basic support | 38 | 19.0 (19.0) [1] | No support | 25 | No support |
| Available in Web Workers | 38 | 20.0 (20.0) | No support | 25 | No support |
| Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|---|
| Basic support | 38 | 38 | 19.0 (19.0) [1] | 1.0.1 (19.0) | No support | ? | No support |
| Available in Web Workers | 38 | 38 | 20.0 (20.0) | 1.0.1 (20.0) | No support | ? | No support |
[1] An earlier, and slightly different, version of the specification was implemented in Firefox 18.
[2] As of Firefox 48, Chrome 54 and Opera 41, no other encoding types are allowed other than utf-8.
See also
- The
TextDecoderinterface 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

