Your Search Results


    This is an experimental technology
    Because this technology's specification has not stabilized, check the compatibility table for the proper prefixes to use 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 spec changes.

    The TextDecoder() constructor returns a newly created TextDecoder object for the encoding specified in parameter.

    If the value for utfLabel is unknown, or is one of the two values leading to a 'replacement' decoding algorithm ( "iso-2022-cn" or "iso-2022-cn-ext"), a DOMException with the "TypeError" value is thrown.


    decoder = new TextDecoder(utfLabel, options); 


    utfLabel Optional
    Is a DOMString, defaulting to "utf-8", containing the label of the encoder. Each label is associated with a specific encoding type:
    Possible values of utfLabel Encoding
    "unicode-1-1-utf-8", "utf-8", "utf8" 'utf-8'
    "866", "cp866", "csibm866", "ibm866" 'ibm866'
    "csisolatin2", "iso-8859-2", "iso-ir-101", "iso8859-2", "iso88592", "iso_8859-2", "iso_8859-2:1987", "l2", "latin2" 'iso-8859-2'
    "csisolatin3", "iso-8859-3", "iso-ir-109", "iso8859-3", "iso88593", "iso_8859-3", "iso_8859-3:1988", "l3", "latin3" 'iso-8859-3'
    "csisolatin4", "iso-8859-4", "iso-ir-110", "iso8859-4", "iso88594", "iso_8859-4", "iso_8859-4:1988", "l4", "latin4" 'iso-8859-4'
    "csisolatincyrillic", "cyrillic", "iso-8859-5", "iso-ir-144", "iso88595", "iso_8859-5", "iso_8859-5:1988" 'iso-8859-5'
    "arabic", "asmo-708", "csiso88596e", "csiso88596i", "csisolatinarabic", "ecma-114", "iso-8859-6", "iso-8859-6-e", "iso-8859-6-i", "iso-ir-127", "iso8859-6", "iso88596", "iso_8859-6", "iso_8859-6:1987" 'iso-8859-6'
    "csisolatingreek", "ecma-118", "elot_928", "greek", "greek8", "iso-8859-7", "iso-ir-126", "iso8859-7", "iso88597", "iso_8859-7", "iso_8859-7:1987", "sun_eu_greek" 'iso-8859-7'
    "csiso88598e", "csisolatinhebrew", "hebrew", "iso-8859-8", "iso-8859-8-e", "iso-ir-138", "iso8859-8", "iso88598", "iso_8859-8", "iso_8859-8:1988", "visual" 'iso-8859-8'
    "csiso88598i", "iso-8859-8-i", "logical" 'iso-8859-8i'
    "csisolatin6", "iso-8859-10", "iso-ir-157", "iso8859-10", "iso885910", "l6", "latin6" 'iso-8859-10'
    "iso-8859-13", "iso8859-13", "iso885913" 'iso-8859-13'
    "iso-8859-14", "iso8859-14", "iso885914" 'iso-8859-14'
    "csisolatin9", "iso-8859-15", "iso8859-15", "iso885915", "l9", "latin9" 'iso-8859-15'
    "iso-8859-16" 'iso-8859-16'
    "cskoi8r", "koi", "koi8", "koi8-r", "koi8_r" 'koi8-r'
    "koi8-u" 'koi8-u'
    "csmacintosh", "mac", "macintosh", "x-mac-roman" 'macintosh'
    "dos-874", "iso-8859-11", "iso8859-11", "iso885911", "tis-620", "windows-874" 'windows-874'
    "cp1250", "windows-1250", "x-cp1250" 'windows-1250'
    "cp1251", "windows-1251", "x-cp1251" 'windows-1251'
    "ansi_x3.4-1968", "ascii", "cp1252", "cp819", "csisolatin1", "ibm819", "iso-8859-1", "iso-ir-100", "iso8859-1", "iso88591", "iso_8859-1", "iso_8859-1:1987", "l1", "latin1", "us-ascii", "windows-1252", "x-cp1252" 'windows-1252'
    "cp1253", "windows-1253", "x-cp1253" 'windows-1253'
    "cp1254", "csisolatin5", "iso-8859-9", "iso-ir-148", "iso8859-9", "iso88599", "iso_8859-9", "iso_8859-9:1989", "l5", "latin5", "windows-1254", "x-cp1254" 'windows-1254'
    "cp1255", "windows-1255", "x-cp1255" 'windows-1255'
    "cp1256", "windows-1256", "x-cp1256" 'windows-1256'
    "cp1257", "windows-1257", "x-cp1257" 'windows-1257'
    "cp1258", "windows-1258", "x-cp1258" 'windows-1258'
    "x-mac-cyrillic", "x-mac-ukrainian" 'x-mac-cyrillic'
    "chinese", "csgb2312", "csiso58gb231280", "gb2312", "gb_2312", "gb_2312-80", "gbk", "iso-ir-58", "x-gbk" 'gbk'
    "gb18030" 'gb18030'
    "hz-gb-2312" 'hz-gb-2312'
    "big5", "big5-hkscs", "cn-big5", "csbig5", "x-x-big5" 'big5'
    "cseucpkdfmtjapanese", "euc-jp", "x-euc-jp" 'euc-jp'
    "csiso2022jp", "iso-2022-jp" 'iso-2022-jp'
    "csshiftjis", "ms_kanji", "shift-jis", "shift_jis", "sjis", "windows-31j", "x-sjis" 'shift-jis'
    "cseuckr", "csksc56011987", "euc-kr", "iso-ir-149", "korean", "ks_c_5601-1987", "ks_c_5601-1989", "ksc5601", "ksc_5601", "windows-949" 'euc-kr'
    "csiso2022kr", "iso-2022-kr" 'iso-2022-kr'
    "utf-16be" 'utf-16be'
    "utf-16", "utf-16le" 'utf-16le'
    "x-user-defined" 'x-user-defined'
    "iso-2022-cn", "iso-2022-cn-ext" 'replacement'
    options Optional
    Is a TextDecoderOptions dictionary with the property:
    A Boolean flag indicating if the TextDecoder.decode() method must throw a DOMException with the "EncodingError" value when an coding error is found. It defaults to false.


    var textDecoder1 = new TextDecoder("iso-8859-2");
    var textDecoder2 = new TextDecoder();
    var textDecoder3 = new TextDecoder("csiso2022kr", {fatal: true}); // Allows EncodingError exception to be thrown.
    var textDecoder4 = new TextDecoder("iso-2022-cn"); // Throw a TypeError exception.


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

    Browser compatibility

    Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
    Basic support 38 19.0 (19.0) [1] Not supported 25 ?
    Available in Web Workers 38 20.0 (20.0) Not supported 25 ?
    Feature Android Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
    Basic support Not supported 19.0 (19.0) [1] 1.0.1 (19.0) Not supported ? Not supported
    Available in Web Workers Not supported 20.0 (20.0) 1.0.1 (20.0) Not supported ? Not supported

    [1] An earlier, and slightly different, version of the specification was implemented in Firefox 18.

    See also

    Document Tags and Contributors

    Contributors to this page: Rob W, Reachmeatshivam, fscholz, jscissr, teoli
    Last updated by: fscholz,