String Decoder in Node.js

Last Updated : 10 Mar, 2026

The String Decoder module converts Buffer data into properly encoded strings, ensuring multi-byte characters are not broken when data is processed in chunks.

  • Built-in module (string_decoder) used to convert Buffer objects into readable strings.
  • Prevents broken multi-byte characters when processing data.
  • Commonly used with streams for chunked data and supports encodings like utf8, utf16le, and base64.
Node
// Node.js program to demonstrate the
// stringDecoder.write() Method

// Import the string_decoder module
// and get the StringDecoder class
// using object destructuring
const { StringDecoder } = require("string_decoder");

// Create a new instance of the decoder
const decoder = new StringDecoder("utf-8");

const text_one = Buffer.from("GeeksforGeeks", "utf-8");
let decoded_text = decoder.write(text_one);
console.log("Decoded Text:", decoded_text);

Output
Decoded Text: GeeksforGeeks

Class: StringDecoder Methods

Provides methods to decode Buffer data into strings while handling multi-byte characters correctly.

  • stringDecoder.write(buffer): stringDecoder.write(buffer) returns a decoded string from the given Buffer, TypedArray, or DataView.
  • stringDecoder.end([buffer]): stringDecoder.end([buffer]) returns any remaining data stored in the internal buffer as a string and ends the decoding process.
Comment

Explore