TextDecoder: decode() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Note: This feature is available in Web Workers.

The TextDecoder.decode() method returns a string containing text decoded from the buffer passed as a parameter.

The decoding method is defined in the current TextDecoder object. This includes the expected encoding of the data, and how decoding errors are handled.

Syntax

js
decode()
decode(buffer)
decode(buffer, options)

Parameters

buffer Optional

An ArrayBuffer, a TypedArray, or a DataView object containing the encoded text to decode.

options Optional

An object with the property:

stream

A boolean flag indicating whether additional data will follow in subsequent calls to decode(). Set to true if processing the data in chunks, and false for the final chunk or if the data is not chunked. It defaults to false.

Exceptions

TypeError

Thrown if there is a decoding error when the property TextDecoder.fatal is true.

Return value

A string.

Examples

This example encodes and decodes the euro symbol, €.

HTML

html
<p>Encoded value: <span id="encoded-value"></span></p>
<p>Decoded value: <span id="decoded-value"></span></p>

JavaScript

js
const encoder = new TextEncoder();
const array = encoder.encode("€"); // Uint8Array(3) [226, 130, 172]
document.getElementById("encoded-value").textContent = array;

const decoder = new TextDecoder();
const str = decoder.decode(array); // String "€"
document.getElementById("decoded-value").textContent = str;

Result

Specifications

Specification
Encoding Standard
# ref-for-dom-textdecoder-decode①

Browser compatibility

BCD tables only load in the browser

See also