mecab-python3
Python wrapper for the MeCab morphological analyzer for Japanese
What it is and what it does
mecab-python3 is a Python wrapper around MeCab, a morphological analyzer for Japanese text processing. It provides tokenization (word segmentation) and grammatical tagging, breaking sentences into morphemes and annotating each with part-of-speech labels, base forms, and readings. The wrapper follows MeCab's native API closely rather than adopting Pythonic conventions, so it reads like a direct port of the underlying C++ library.
The package ships as prebuilt wheels for macOS, Linux, and Windows, eliminating the need to compile MeCab yourself. However, it requires a separate dictionary installation to actually parse text. Windows users must also install the Microsoft Visual C++ Redistributable. The library has no Python runtime dependencies and supports Python 3.8 through 3.14.
Use it for:
- Tokenizing Japanese sentences into words and morphemes for downstream NLP tasks like sentiment analysis or named-entity recognition.
- Extracting lemmas and part-of-speech tags from Japanese text for linguistic analysis or corpus processing.
- Building a wakati-mode tokenizer for simple word segmentation without full grammatical annotation.
- Processing Japanese user input in chatbots, search engines, or text classification systems.
- Preparing Japanese text for machine learning models that require pre-tokenized input.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python wrapper for MeCab, a morphological analyzer that tokenizes and tags Japanese text with part-of-speech information and lemmatization.
Yes, if you need Japanese morphological analysis and can manage the dictionary setup. The library is mature, widely used (top 5000 on PyPI), has no known vulnerabilities, and permissive licensing. The aging maintenance status (262 days since last release) is a minor concern but not a blocker for stable use. Install friction is moderate due to dictionary requirement and platform-specific gotchas, but well-documented.
Install
mecab-python3 on PyPI
pip
pip install mecab-python3uv
uv add mecab-python3poetry
poetry add mecab-python3Installing mecab-python3
Before you install
Medium install friction: prebuilt wheels available for macOS, Linux, and Windows, but Windows requires Microsoft Visual C++ Redistributable and macOS Big Sur needs pip 20.3 or higher. No runtime dependencies, but a separate dictionary package is required to function. Last release 262 days ago; maintenance status is aging.
License in practice
Distributed under permissive BSD license, with dual licensing available under GPLv2 or LGPLv2.1. No restrictions on commercial use or modification.
Quickstart
pip install mecab-python3
import MeCab
tagger = MeCab.Tagger()
print(tagger.parse("pythonが大好きです"))
Requires a MeCab dictionary to be installed separately; Windows requires Microsoft Visual C++ Redistributable; macOS Big Sur requires pip 20.3 or higher.
Verify before relying
- Whether the aging maintenance status (262 days since last release) affects stability or security for ongoing use.
- Which dictionary packages are compatible and actively maintained for use with this wrapper.
- Performance characteristics and scalability limits for large-scale Japanese text processing.
Package facts
| License | BSD (permissive) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | aging — 262 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,078,606/month — #4,401 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: mecab_python3-1.0.12-cp310-cp310-macosx_10_9_universal2.whl; mecab_python3-1.0.12-cp310-cp310-macosx_10_9_x86_64.whl; mecab_python3-1.0.12-cp310-cp310-macosx_11_0_arm64.whl; mecab_python3-1.0.12-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; mecab_python3-1.0.12-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; mecab_python3-1.0.12-cp310-cp310-win_amd64.whl; mecab_python3-1.0.12-cp311-cp311-macosx_10_9_universal2.whl; mecab_python3-1.0.12-cp311-cp311-macosx_10_9_x86_64.whl; mecab_python3-1.0.12-cp311-cp311-macosx_11_0_arm64.whl; mecab_python3-1.0.12-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; mecab_python3-1.0.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; mecab_python3-1.0.12-cp311-cp311-win_amd64.whl; mecab_python3-1.0.12-cp312-cp312-macosx_10_13_universal2.whl; mecab_python3-1.0.12-cp312-cp312-macosx_10_13_x86_64.whl; mecab_python3-1.0.12-cp312-cp312-macosx_11_0_arm64.whl; mecab_python3-1.0.12-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; mecab_python3-1.0.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; mecab_python3-1.0.12-cp312-cp312-win_amd64.whl; mecab_python3-1.0.12-cp313-cp313-macosx_10_13_universal2.whl; mecab_python3-1.0.12-cp313-cp313-macosx_10_13_x86_64.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 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
mecabPython binding for MeCab, a morphological…
copyleft · top 15,000 on PyPI
mecab-koPython wrapper for MeCab-ko, a morphological…
permissive · top 15,000 on PyPI
unidic-liteProvides a pip-installable Japanese…
permissive · top 15,000 on PyPI
JanomeJanome is a Japanese morphological analyzer…
permissive · top 15,000 on PyPI
unidicProvides the UniDic 2.3.0 Japanese…
permissive · top 15,000 on PyPI
tinysegmenterTinySegmenter is a compact Japanese tokenizer…
permissive · top 15,000 on PyPI
konohaKonoha provides a unified Python interface to…
permissive · top 15,000 on PyPI
python-mecab-ko-dicProvides a pre-built Korean morphological…
permissive · top 15,000 on PyPI