Sourcemap Explorer
Stack · npm package

utf-8-validate

Check if a buffer contains valid UTF-8

latest 6.0.6· MIT· 34 versions publishedView on npm

About

Check if a buffer contains valid UTF-8

utf-8-validate

Live mirror of the GitHub README. Updated whenever the repo's default branch changes.

utf-8-validate

Version npm Linux/macOS/Windows Build

Check if a buffer contains valid UTF-8 encoded text.

Installation

npm install utf-8-validate --save-optional

The --save-optional flag tells npm to save the package in your package.json under the optionalDependencies key.

API

The module exports a single function that takes one argument. To maximize performance, the argument is not validated. It is the caller's responsibility to ensure that it is correct.

isValidUTF8(buffer)

Checks whether a buffer contains valid UTF-8.

Arguments
  • buffer - The buffer to check.
Return value

true if the buffer contains only correct UTF-8, else false.

Example
'use strict';

const isValidUTF8 = require('utf-8-validate');

const buf = Buffer.from([0xf0, 0x90, 0x80, 0x80]);

console.log(isValidUTF8(buf));
// => true

License

MIT

Quick facts

Latest version6.0.6
LicenseMIT
AuthorEinar Otto Stangvik
Installnpm install utf-8-validate
Direct dependencies1

How Sourcemap Explorer detects utf-8-validate

We catch utf-8-validate from two complementary signals: bundled source paths and the embedded package.json. Modern bundlers (webpack, Vite, esbuild, Rollup, Turbopack) preserve the original node_modules/utf-8-validate/ paths inside the JavaScript sourcemap's sources[] array — that's the canonical signal. When the matching package.json is also captured in sourcesContent[], we read the exact version field — patch number included. No regex guessing, no version inference.

  1. 1

    Confirm the site exposes sourcemaps

    In DevTools Network, check the response headers of any application script for `SourceMap` or `X-SourceMap`. Failing that, fetch the script's last 4 KB and look for a `//# sourceMappingURL=` comment.

  2. 2

    Find the package in the bundle

    Open DevTools → Network → reload. Click any application script and look at its sourcemap. Inside, search `sources[]` for entries matching `node_modules/utf-8-validate/` — every match confirms the package is bundled. The matching `sourcesContent[i]` for `node_modules/utf-8-validate/package.json` gives you the exact installed version.

  3. 3

    Read the version directly from package.json

    Run `jq -r '. as $m | $m.sources | to_entries[] | select(.value | endswith("node_modules/utf-8-validate/package.json")) | $m.sourcesContent[.key] | fromjson | .version' bundle.js.map`. Sourcemap Explorer automates the same query in the popup.

Recent versions

Version
Released
1.0.0
1.0.1
1.1.0
1.2.0
1.2.1
1.2.2
2.0.0
3.0.0

FAQ

What is utf-8-validate used for?

Check if a buffer contains valid UTF-8

How can I tell if a website is using utf-8-validate?

Open the page in Chrome with the Sourcemap Explorer extension installed and read the Stack tab. We catch `utf-8-validate` from two complementary signals: `node_modules/utf-8-validate/` paths inside the JavaScript sourcemap, and the embedded `package.json` we read for exact-version detection. Without the extension you can do the same lookup manually in DevTools — the steps are listed in the "How Sourcemap Explorer detects" section above.

What is the latest version of utf-8-validate?

6.0.6, as published on the npm registry. The "Recent versions" table on this page lists the most recent 8 releases with their release dates. Sourcemap Explorer reports the version actually bundled into a site, which can lag the latest release by months on real-world deployments.

Where can I read more?

Project homepage: https://github.com/websockets/utf-8-validate. Source code: https://github.com/websockets/utf-8-validate. Published on npm: https://www.npmjs.com/package/utf-8-validate. Licensed as MIT.

Detected by Sourcemap Explorer

When a bundle ships sourcemaps, we read the embedded package.json for utf-8-validate and report the precise version. Without sourcemaps, an import / require in the page's scripts is enough to flag it.

Install free on Chrome