Skip to content

SuzumeJapanese Tokenizer That Actually Works in the Browser

No more 50MB dictionary files. Lightweight Japanese tokenization under 250KB — runs entirely in the browser, no server required.

Why Suzume?

The best of both worlds: TinySegmenter's lightness meets MeCab's accuracy.

FeatureTinySegmenter LightSuzume kuromoji MeCab Accurate
Browser
DictionaryNot requiredNot requiredRequiredRequired
Bundle Size~10KB<250KB~20MBN/A
Server-free
POS Tagging
Lemmatization
Compound Nouns
Custom Dictionary
Unknown Words
🖥️

Frontend Only

Zero server setup. Just serve from CDN.

Real-time Processing

No API calls. Instant analysis with zero latency.

🔒

Privacy First

Text data never leaves the user's browser.

Use Cases

Try real-time demos that run entirely in your browser

Loading...

Installation

bash
npm install @libraz/suzume
bash
yarn add @libraz/suzume
bash
pnpm add @libraz/suzume
bash
bun add @libraz/suzume

Usage

typescript
import { Suzume } from '@libraz/suzume'

const suzume = await Suzume.create()
const result = suzume.analyze('すもももももももものうち')

console.log(result)
// [
//   { surface: 'すもも', pos: 'noun', posJa: '名詞', ... },
//   { surface: 'も', pos: 'particle', posJa: '助詞', ... },
//   ...
// ]

Released under the Apache 2.0 License.