This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.

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.

Before Firefox 48 the TextEncoder support encoding string to utf-8, iso-8859-2, koi8, cp1261, gbk, ... Firefox dropped support any other encoding types except utf-8 since Firefox 48. (relative ticket). Chrome also claimmed to drop support legacy encoding from TextEncoder except utf-8 and utf-16(feature link). In Firefox any encoding type passed to the contructor will be ignored and an utf-8 TextEncoder will be created.

There is a polyfill implementation to support all the legacy encoding in github.


The TextEncoder interface doesn't inherit any property.

TextEncoder.encoding Read only
Is a DOMString containing the name of the encoder, that is a string describing the method the TextEncoder will use.


Returns a newly constructed TextEncoder that will generate a byte stream with the encoding method specified in parameters.


The TextEncoder interface doesn't inherit any method.

Returns a Uint8Array containing the text encoded with the method for this specific TextEncoder object.


Specification Status Comment
The definition of 'TextEncoder' in that specification.
Candidate Recommendation Initial definition.

Browser compatibility

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 Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Basic support No support 19.0 (19.0) [1] 1.0.1 (19.0) No support ? No support
Available in Web Workers No support 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.

See also


© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

API Encoding Experimental Expérimental