skillfed

charset-normalizer

The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet.

charset-normalizer Permissive license MIT Active 787 v3.5.0 released

Install

charset-normalizer on PyPI

pip

pip install charset-normalizer

uv

uv add charset-normalizer

poetry

poetry add charset-normalizer

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 1 days since the last release
Last repo commit
First released
Popularity one of the 100 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: charset_normalizer-3.5.0-py3-none-any.whl

Keywords: encoding, charset, charset-detector, detector, normalization, unicode, chardet, detect

Development Status :: 5 - Production/StableEnvironment :: WebAssemblyEnvironment :: WebAssembly :: EmscriptenIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Free Threading :: 4 - ResilientProgramming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Text Processing :: LinguisticTopic :: UtilitiesTyping :: Typed

About charset-normalizer

from the package's own PyPI description — quoted content, verbatim

<h1 align="center">Charset Detection, for Everyone 👋</h1>

<p align="center"> <sup>The Real First Universal Charset Detector</sup><br> <a href="https://pypi.org/project/charset-normalizer"> <img src="https://img.shields.io/pypi/pyversions/charset_normalizer.svg?orange=blue" /> </a> <a href="https://pepy.tech/project/charset-normalizer/"> <img alt="Download Count Total" src="https://static.pepy.tech/badge/charset-normalizer/month" /> </a> <a href="https://bestpractices.coreinfrastructure.org/projects/7297"> <img src="https://bestpractices.coreinfrastructure.org/projects/7297/badge"> </a> </p> <p align="center"> <sup><i>Featured Packages</i></sup><br> <a href="https://github.com/jawah/niquests"> <img alt="Static Badge" src="https://img.shields.io/badge/Niquests-Most_Advanced_HTTP_Client-cyan"> </a> <a href="https://github.com/jawah/wassima"> <img alt="Static Badge" src="https://img.shields.io/badge/Wassima-Certifi_Replacement-cyan"> </a> </p> <p align="center"> <sup><i>In other language (unofficial port - by the community)</i></sup><br> <a href="https://github.com/nickspring/charset-normalizer-rs"> <img alt="Static Badge"...

Read as markdown · JSON record · Source repository · Docs

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

Detects and normalizes text encoding from unknown or ambiguous sources, supporting 99 IANA character sets with a universal approach that handles edge cases safely.

Actively maintained with a release just 1 day old and no runtime dependencies, making installation frictionless. Supports Python 3.7–3.15 and PyPy.

MIT license permits commercial and private use with minimal restrictions; you must include a copy of the license and copyright notice.

Usage

pip install charset-normalizer==3.5.0

from charset_normalizer import from_bytes
result = from_bytes(b'\xc3\xa9').best()
print(result.encoding, result.output)

Verdict: A top-100 PyPI package offering fast, reliable charset detection across 99 encodings with zero dependencies, active maintenance, and a permissive MIT license. No known vulnerabilities and strong Python version coverage make it a production-ready alternative to Chardet.

Needs verification

  • Whether the 98% accuracy claim in the description excerpt reflects current performance on real-world data.
  • Details on the custom codec registration feature and its practical use cases.
charset detectionencoding detectiontext encoding normalizeruniversal charset detectorchardet alternativecharacter encoding guesserdecode unknown encoding

Similar packages