fugashi
Cython MeCab wrapper for fast, pythonic Japanese tokenization.
What it is and what it does
This package wraps MeCab, a mature Japanese tokenizer and morphological analyzer, making it accessible from Python. It parses Japanese text (which has no spaces) into individual words and returns grammatical features like part-of-speech, lemma, and other linguistic attributes as named tuples. The package ships with prebuilt wheels for common platforms, eliminating the need to compile MeCab yourself on Linux, macOS, and Windows x64.
You typically install a dictionary alongside the package—unidic-lite for quick testing or unidic for production work—then create a Tagger instance and call it on Japanese text. The package supports both simple tokenization (splitting text into words) and detailed morphological analysis (extracting grammatical information). It also allows custom dictionaries and feature wrappers for non-Unidic use cases.
Use it for:
- Tokenizing Japanese text in NLP pipelines where word boundaries and morphological features are needed
- Extracting lemmas and parts-of-speech from Japanese documents for linguistic analysis or search indexing
- Building Japanese language processing applications that require accurate tokenization without spaces
- Preparing Japanese text for downstream tasks like machine translation, sentiment analysis, or named-entity recognition
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Cython wrapper for MeCab that tokenizes and performs morphological analysis on Japanese text, returning parsed words with grammatical features.
Yes, if you need to process Japanese text. This is the standard Python wrapper for MeCab, has no known vulnerabilities, and prebuilt wheels make installation straightforward on common platforms. The aging maintenance status is not a blocker—the package is stable and widely used—but verify that the MeCab and dictionary versions meet your production requirements. Avoid on musl-based systems (Alpine Linux) or 32-bit Windows without manual MeCab compilation.
Install
fugashi on PyPI
pip
pip install fugashiuv
uv add fugashipoetry
poetry add fugashiInstalling fugashi
Before you install
Medium install friction due to compiled C extensions; prebuilt wheels are provided for Linux, macOS (Intel and ARM), and Windows x64, but requires MeCab system library on unsupported platforms (musl-based distros, PowerPC, Windows 32-bit). Package is aging but has no known vulnerabilities.
License in practice
Dual-licensed under MIT and BSD-3-Clause (permissive). The package itself is MIT; included MeCab binaries in wheels are BSD-licensed. Both are permissive and suitable for commercial use with attribution.
Quickstart
pip install 'fugashi[unidic-lite]'
from fugashi import Tagger
tagger = Tagger('-Owakati')
for word in tagger('麩菓子は、麩を主材料とした日本の菓子。'):
print(word, word.feature.lemma, word.pos, sep='\t')
Requires MeCab system library; on platforms without prebuilt wheels (musl-based distros, PowerPC, Windows 32-bit), you must install MeCab from source first. A dictionary must also be installed.
Verify before relying
- Performance characteristics (speed, memory usage) compared to alternative Japanese tokenizers
- Whether the aging maintenance status reflects active development or dormancy
- Compatibility with latest versions of MeCab and UniDic beyond what the fact sheet indicates
Package facts
| License | MIT AND BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | aging — 294 days since the last release |
| First released | |
| Downloads | 1,003,315/month — #4,532 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: fugashi-1.5.2-cp310-cp310-macosx_10_9_universal2.whl; fugashi-1.5.2-cp310-cp310-macosx_10_9_x86_64.whl; fugashi-1.5.2-cp310-cp310-macosx_11_0_arm64.whl; fugashi-1.5.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; fugashi-1.5.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; fugashi-1.5.2-cp310-cp310-win_amd64.whl; fugashi-1.5.2-cp311-cp311-macosx_10_9_universal2.whl; fugashi-1.5.2-cp311-cp311-macosx_10_9_x86_64.whl; fugashi-1.5.2-cp311-cp311-macosx_11_0_arm64.whl; fugashi-1.5.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; fugashi-1.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; fugashi-1.5.2-cp311-cp311-win_amd64.whl; fugashi-1.5.2-cp312-cp312-macosx_10_13_universal2.whl; fugashi-1.5.2-cp312-cp312-macosx_10_13_x86_64.whl; fugashi-1.5.2-cp312-cp312-macosx_11_0_arm64.whl; fugashi-1.5.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; fugashi-1.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; fugashi-1.5.2-cp312-cp312-win_amd64.whl; fugashi-1.5.2-cp313-cp313-macosx_10_13_universal2.whl; fugashi-1.5.2-cp313-cp313-macosx_10_13_x86_64.whl
Tags
More Linguistic packages
Detects and normalizes text encoding from…
permissive · top 100 on PyPI
tiktokentiktoken is a fast BPE tokenizer that converts…
permissive · top 1,000 on PyPI
chardetDetects character encoding and language in byte…
permissive · top 1,000 on PyPI
text-unidecodeConverts Unicode text to ASCII by…
copyleft · top 1,000 on PyPI
larkLark is a parsing library that builds abstract…
permissive · top 1,000 on PyPI
tree-sitterPython bindings to the tree-sitter parsing…
permissive · top 1,000 on PyPI
mecab-python3Python wrapper for MeCab, a morphological…
permissive · top 5,000 on PyPI
ipadicProvides the IPAdic Japanese morphological…
unclear · top 15,000 on PyPI
unidic-liteProvides a pip-installable Japanese…
permissive · top 15,000 on PyPI
mecabPython binding for MeCab, a morphological…
copyleft · top 15,000 on PyPI
konohaKonoha provides a unified Python interface to…
permissive · top 15,000 on PyPI
mecab-ko-dicProvides a Korean dictionary for MeCab…
unclear · top 15,000 on PyPI
mecab-koPython wrapper for MeCab-ko, a morphological…
permissive · top 15,000 on PyPI
unidicProvides the UniDic 2.3.0 Japanese…
permissive · top 15,000 on PyPI
nagisaNagisa performs Japanese word segmentation and…
permissive · top 5,000 on PyPI
tinysegmenterTinySegmenter is a compact Japanese tokenizer…
permissive · top 15,000 on PyPI