mecab
a Python binding for unofficial fork of MeCab
What it is and what it does
MeCab is a Python binding to an unofficial fork of the MeCab morphological analyzer, a tool for breaking down Japanese text into its grammatical components. It tokenizes sentences into words and annotates each with part-of-speech tags, base forms, readings, and other linguistic features. The binding exposes two main APIs: a simple parse() method that returns formatted text output, and a parseToNode() method that yields individual token objects for programmatic access to morphological data.
The package is distributed as precompiled wheels for multiple Python versions (3.8–3.14) and platforms (macOS, Linux, Windows, including ARM), reducing installation friction compared to building from source. However, it carries Alpha development status and has not been updated in 243 days, suggesting either stable maturity or reduced active maintenance. The underlying MeCab library is licensed under GPL-2.0, LGPL-2.1, or BSD-3-Clause, and this binding inherits that triple-license structure.
Use it for:
- Tokenize and annotate Japanese sentences for NLP pipelines that require morphological analysis before higher-level processing.
- Extract parts of speech, base forms, and readings from Japanese text for linguistic research or language learning applications.
- Build Japanese search or indexing systems that need to segment text and normalize word variants.
- Preprocess Japanese text for machine learning models that expect tokenized and lemmatized input.
- Analyze Japanese grammar and syntax by traversing the parse tree returned by parseToNode().
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python binding for MeCab, a morphological analyzer that tokenizes and parses Japanese text into grammatical components like parts of speech and base forms.
Yes, if you need Japanese morphological analysis and accept the copyleft licensing terms. The precompiled wheels and broad platform support make installation straightforward. However, verify that MeCab system dependencies and dictionaries are available in your environment, and be aware the package is aging—check whether it meets your stability and maintenance expectations before committing to a production dependency.
Install
mecab on PyPI
pip
pip install mecabuv
uv add mecabpoetry
poetry add mecabInstalling mecab
Before you install
Medium install friction: precompiled wheels available for Python 3.8–3.14 across macOS, Linux, Windows, and ARM platforms, but the package is aging (243 days since last release) with Alpha development status.
License in practice
Licensed under GPL-2.0-only OR LGPL-2.1-only OR BSD-3-Clause (copyleft). You may use it under any of these three terms; GPL and LGPL variants require derivative works to be similarly licensed.
Quickstart
pip install mecab
import MeCab
t = MeCab.Tagger()
sentence = "太郎はこの本を女性に渡した。"
print(t.parse(sentence))
MeCab requires the underlying MeCab C++ library and dictionary data; installation may fail if system dependencies are missing or incompatible.
Verify before relying
- Whether the package includes or requires separate installation of MeCab dictionary data.
- Current maintenance status and whether the aging label reflects genuine abandonment or stable maturity.
- Compatibility with Python 3.13 and 3.14 in practice, given Alpha status.
Package facts
| License | GPL-2.0-only OR LGPL-2.1-only OR BSD-3-Clause (copyleft) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | aging — 243 days since the last release |
| First released | |
| Downloads | 437,778/month — #6,664 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: mecab-0.996.13-cp310-cp310-macosx_10_9_universal2.whl; mecab-0.996.13-cp310-cp310-macosx_10_9_x86_64.whl; mecab-0.996.13-cp310-cp310-macosx_11_0_arm64.whl; mecab-0.996.13-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; mecab-0.996.13-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; mecab-0.996.13-cp310-cp310-musllinux_1_2_aarch64.whl; mecab-0.996.13-cp310-cp310-musllinux_1_2_x86_64.whl; mecab-0.996.13-cp310-cp310-win32.whl; mecab-0.996.13-cp310-cp310-win_amd64.whl; mecab-0.996.13-cp311-cp311-macosx_10_9_universal2.whl; mecab-0.996.13-cp311-cp311-macosx_10_9_x86_64.whl; mecab-0.996.13-cp311-cp311-macosx_11_0_arm64.whl; mecab-0.996.13-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; mecab-0.996.13-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; mecab-0.996.13-cp311-cp311-musllinux_1_2_aarch64.whl; mecab-0.996.13-cp311-cp311-musllinux_1_2_x86_64.whl; mecab-0.996.13-cp311-cp311-win32.whl; mecab-0.996.13-cp311-cp311-win_amd64.whl; mecab-0.996.13-cp312-cp312-macosx_10_13_universal2.whl; mecab-0.996.13-cp312-cp312-macosx_10_13_x86_64.whl
Tags
More Text Processing packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyparsingpyparsing provides a library for building text…
permissive · top 1,000 on PyPI
docutilsDocutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
RapidFuzzRapidFuzz provides fast fuzzy string matching…
permissive · top 1,000 on PyPI
tinycss2tinycss2 parses CSS strings into token and…
permissive · top 1,000 on PyPI
llama-parseLlamaParse parses complex documents (PDFs,…
permissive · top 1,000 on PyPI
konohaKonoha provides a unified Python interface to…
permissive · top 15,000 on PyPI
mecab-python3Python wrapper for MeCab, a morphological…
permissive · top 5,000 on PyPI
rhoknprhoknp is a Python binding for Japanese…
permissive · top 15,000 on PyPI
mecab-koPython wrapper for MeCab-ko, a morphological…
permissive · top 15,000 on PyPI
fugashiA Cython wrapper for MeCab that tokenizes and…
permissive · top 5,000 on PyPI
ipadicProvides the IPAdic Japanese morphological…
unclear · top 15,000 on PyPI
SudachiPySudachiPy is a Python binding for Sudachi.rs, a…
permissive · top 5,000 on PyPI
python-mecab-koProvides Python bindings for MeCab-ko, a…
permissive · top 15,000 on PyPI
nagisaNagisa performs Japanese word segmentation and…
permissive · top 5,000 on PyPI
unidic-liteProvides a pip-installable Japanese…
permissive · top 15,000 on PyPI