プロフィール · My Profile
General Infos
Settings
Activity
Achievements
Change Password
Adjust your avatar
Drag to move · Pinch or use buttons to zoom
おかえり · Welcome back,
...
毎日 · Dailies
日替わり · Daily Kanji Quiz
Score 4/5 or higher to earn a bonus booster pack.
探求 · Go Further
パック図鑑 · Pack Guide
Booster packs reveal five kanji each. A few follow their own rules:
活動 · Activity
図書館 · Library
Curated texts for your level. Pick one and start collecting kanji.
道場 · Dojo
Train your kanji, compounds, and grammar. Earn belts. Master them all.
The dojo is hand-built. If a question feels wrong, send me a note and I'll review it.
New Analysis
Paste Japanese text to find and collect kanji cards.
No text in mind? Pick one from the library.
本棚 · My Shelf
Your library of analyzed texts.
Your shelf is empty.
Analyze some text to get started!
仮名 · Kana
The phonetic building blocks of Japanese.
コレクション · Your Collection
All 2,182 Jōyō kanji. Discover them through analysis and booster packs.
No kanji discovered yet.
Analyze some Japanese text to start collecting!
部首 · Radicals
The 214 building blocks of kanji. Discover them through your collection.
熟語 · Compounds
Multi-kanji words discovered from your kanji collection.
No compounds discovered yet. Discover kanji to collect their compound words.
文法 · Grammar
Grammar patterns discovered in your texts.
No grammar points discovered yet. Analyze texts to find patterns.
Community
Share your discoveries, compare collections, and compete with other learners.
サポート · Support
Where does the kanji data come from?
All kanji data comes from KANJIDIC2, maintained by the Electronic Dictionary Research and Development Group (EDRDG). This is the international standard used by every major Japanese dictionary. Our database covers all 2,182 Jōyō kanji designated by the Japanese Ministry of Education.
How are JLPT levels determined?
JLPT levels are based on widely published study lists for the Japanese Language Proficiency Test (N5 through N1). Kanji beyond the official JLPT lists are classified as N1+ (Mythical).
How are radicals assigned?
Each kanji is assigned its official Kangxi radical from KANJIDIC2 — the same classification system used in traditional Japanese dictionaries since 1716. All 214 Kangxi radicals are represented.
Where does the component decomposition come from?
Component data is extracted from KANJIDIC2, showing the visual building blocks of each kanji. 238 unique components are mapped across all 2,182 kanji.
Where does the stroke order data come from?
Stroke order animations use data from KanjiVG, an open-source project providing stroke-by-stroke vector graphics for Japanese kanji. All 2,182 Jōyō kanji have complete stroke order data.
How does furigana work?
Furigana is generated using kuromoji.js, a JavaScript implementation of the Japanese morphological analyzer used in Apache Lucene. A compound correction system cross-references readings against our kanji database and JMdict to ensure accuracy.
Where do compound words come from?
Compound readings are sourced from our curated kanji database and cross-referenced with JMdict, the Jim Breen Japanese-English dictionary project maintained by EDRDG.
How does the Dojo SRS work?
The Dojo uses spaced repetition with 6 belt levels: White (4h), Yellow (1d), Green (3d), Blue (7d), Brown (14d), Black (30d). Question types expand as you progress — advanced types like component recognition and context sentences unlock at higher belts.
What is Writing Practice?
An opt-in Dojo question type where you trace the kanji on a canvas, one stroke at a time. If a stroke is wrong it flashes red, the correct stroke briefly appears so you can see what was expected, and you stay on the same stroke until you get it right. Each stroke has a free first miss; every subsequent miss on the same stroke costs one point from the question's fail budget (about 25% of the strokes for kanji; ≤1 for 2+ stroke kana, 0 for 1-stroke kana). Run out of points and the question ends as failed. You also have two limited aids: a one-step undo (rewind the last accepted stroke) and a one-time hint (reveal the next stroke). Enable it under "Rules of the Dojo" on the Dojo page, where you can also set frequency (Off / Rare / Frequent / Always), the stroke guide mode (Always / Beginner belts only / Never), and stroke strictness (Lenient / Normal / Strict).
What does Deep Analysis do?
Tap any sentence in an analyzed text to open Deep Analysis. You get a block-level breakdown — particles, verbs, topic vs. subject, keigo markers, idioms — and a list of grammar points detected in the sentence, cross-referenced against the grammar database. Useful for understanding why a sentence works, not just what it means.
What does the Glossary show?
Tap any word for its reading, part of speech, and meanings. The app layers several sources: curated overrides for high-frequency polysemous words (e.g. どうか), context-aware classifiers for particles, honorifics, keigo, mimetic adverbs, compounds and idioms, and then JMdict for everything else.
How does audio playback work?
Speaker icons on sentences, words and kanji use native text-to-speech: the Capacitor TTS plugin on the Android app, and the Web Speech API in the browser. Voice quality depends on your device's installed Japanese voices — if you don't hear anything, check that a Japanese voice is available in your system's language settings.
Where do the library texts come from?
The library is a curated collection of Japanese texts — haiku, folk tales, poetry, literary excerpts, song lyrics — chosen to spotlight kanji at different difficulty levels. Texts are in the public domain or used with permission. Use the library as starter material if you don't have Japanese text of your own to analyze.
What if a kanji isn't recognized?
Our database covers all 2,182 Jōyō kanji. When you tap a character outside this set (rare kanji, variants, old forms), you'll see a small toast explaining why it's silent, with a one-tap Report button that emails the character to us so we can consider adding it.
Why is the Glossary or Deep Analysis sometimes wrong?
Japanese is deeply context-dependent: most words have multiple senses (e.g. いくら = "how much" or "salmon roe"), the tokenizer can mis-split unusual compounds, and JMdict lists dictionary senses without knowing your sentence. We layer curated overrides on top of JMdict to catch known cases, but new edge cases surface all the time. If something looks off, there's a "tell me" link at the bottom of both modals that opens a pre-filled email — every report makes the app better.
Is my data stored securely?
Your account (email, password) is handled by Supabase Authentication, hosted in the EU/Switzerland region with industry-standard encryption. Your collection, shelf, and learning progress are stored both locally on your device and, when signed in, synced to your private Supabase account via row-level security so only you can access your own data. No analytics, tracking, or third-party telemetry is used.
How many kanji are in the app?
All 2,182 Jōyō (常用) kanji — the complete set required for Japanese literacy, as designated by the Japanese Ministry of Education.
How many grammar points are covered?
305 grammar patterns across all JLPT levels (N5: 65, N4: 60, N3: 75, N2: 55, N1: 50), covering the complete curricula of Genki I & II and An Integrated Approach to Intermediate Japanese.
What is the Daily Quiz?
A quick five-question multiple-choice quiz that appears on the homepage each day. Questions draw only from kanji you've already discovered, so it tests retention rather than introducing new material. Score 4/5 or higher and you earn a bonus booster pack. Your daily score is logged and contributes to your "dailies completed" count for achievements.
What is the Booster Pack?
A daily five-card kanji reveal — animated, gachapon-style. Each pack pulls from JLPT levels appropriate to your current rank, with a small chance of a Mythical (N1+) card. A handful of special pack types follow their own rules (Beginner's Path, Master's Path, Theme, Golden Treasure, Mystery) — tap the small "?" on the booster card for the full guide.
What is Discovery (発見)?
A bonus session unlocked once your daily training is complete (Dojo goal, Booster pack, Daily Quiz). Each round shows two new grammar patterns followed by a short synthesis quiz that mixes both, then introduces three new kanji. Content is drawn from your current JLPT level and the level just above. Discovered items join your collection and appear in tomorrow's Dojo reviews. Free accounts get two sessions per day; Premium is unlimited.
How do Promotion Exams work?
Tap the "Level NX ›" chip on the homepage to open your level dashboard. The exam unlocks once you've discovered 80% of the kanji and 80% of the grammar from your current and next JLPT level (cumulative). The locked state tells you exactly how much further you need. Pass the exam with bronze (70-79%), silver (80-89%), or gold (90%+); failing under 70% lets you retry. Passing officially advances your JLPT rank in the app — your homepage, your Dojo content, and your Discovery pool all shift to the next level.
Can I try Mojigari before signing up?
Yes — tap "Get Started" on the landing page to enter a brief demo built around Bashō's most famous haiku (古池や蛙飛び込む水の音, 1686, public domain). Tap any character for its meaning, readings, and a kanji breakdown. The kanji you discover during the demo carry over into your real collection when you sign up.
What is Premium and what does it cost?
Premium unlocks unlimited text analyses (free is rate-limited), unlimited Discovery sessions per day (free is capped at two), and access to all JLPT levels in the Dojo. Plans: $5.99/month, $59.99/year (≈ $5/month), or $99.99/two years (≈ $4.17/month). All plans include a 14-day free trial — no credit card required to start. Cancel anytime; access stays until the end of the current billing period.
How do I cancel my subscription?
If you subscribed through Google Play (the Android app), open the Play Store → Menu → Subscriptions → Mojigari → Cancel. If you subscribed on the web (via Stripe), open your Profile and tap the "Manage subscription" link to reach Stripe's Customer Portal, where you can cancel, change plan, or update payment details. Cancellation takes effect at the end of the current billing period.
Mojigari is a Japanese language learning application that transforms kanji memorization into a card-collecting game. Paste any Japanese text or pick from a curated library, watch each kanji become a collectible card, and master them through belt-ranked spaced repetition. Daily rituals — Dojo reviews, a five-card booster pack, a five-question quiz — give the practice rhythm. Discovery (発見) introduces new grammar and kanji from your current level and the level just above. Promotion exams advance you officially from N5 toward N1.
Available on the web and as a native Android app (iOS coming later). Built in Switzerland.
Mojigari started because every Japanese-learning app I tried treated kanji as a flashcard chore. I wanted a tool that respected the language as a culture — where every kanji felt like an artefact worth collecting, where grammar wasn't ripped out of context, where the app trusted you enough to read real Japanese on day one. Built solo, in between jobs, for passion. If a reading looks wrong or a feature should exist, write to me at feedback@mojigari.com — I read every message.
— Marco
Data Sources & Acknowledgments
Last updated: May 2026
1. Data Controller
Mojigari ("we", "our", "the app") is operated from Switzerland. For questions about this policy, contact us at the email provided in the app.
2. Data We Collect
Account data: Email address and password, handled by Supabase Authentication. Passwords are never stored in plain text. Usage data: Your kanji collection, analyzed texts, learning progress, preferences, and settings. This data is stored locally on your device and, when signed in, synced to your private Supabase account. Subscription data: If you subscribe to Premium, your subscription status (active / trialing / cancelled / expired) is recorded so the app can unlock the right features. Payment details (card numbers, billing addresses) are handled exclusively by Stripe (web) or Google Play Billing (Android) — Mojigari never sees them. We do not collect: IP addresses beyond what infrastructure requires for authentication, device identifiers, location data, advertising analytics, cookies, or any behavioural tracking data.
3. How We Store Data
Your learning data is stored locally on your device using browser localStorage (for offline access) and, when signed in, synced to Supabase (PostgreSQL with row-level security). Supabase infrastructure is hosted in the EU/Switzerland region. Row-level security means only your account can read or write your data — no Mojigari team member has access to individual user content without your explicit permission.
4. Third-Party Services
The app relies on the following third-party services:
- Supabase — authentication and cloud sync, EU region. Privacy policy
- Adapty — subscription orchestration. Receives an anonymous customer identifier and the subscription state of your account so it can keep web (Stripe) and Android (Google Play) entitlements in sync. Privacy policy
- Stripe — payment processor for subscriptions purchased on the web. Handles your payment details directly; Mojigari only receives a confirmation that a subscription was created and its status. Privacy policy
- Google Play Billing — payment processor for subscriptions purchased through the Android app. Subject to Google's terms and privacy policies.
- Sentry — error monitoring. When the app encounters a crash or unhandled exception, a diagnostic report is sent so we can fix it; reports contain the error's stack trace and an anonymous user ID (UUID, no email), and explicitly exclude IP addresses and personally identifiable information. Privacy policy
- Google Fonts — for typography. Privacy policy
- jsDelivr CDN — for stroke order data from KanjiVG, delivered via cached static files.
No advertising or behavioural analytics SDKs are present in the app.
5. Your Rights
Under Swiss data protection law (nDSG) and the EU General Data Protection Regulation (GDPR), you have the right to: access your data, correct inaccurate data, delete your data, export your data in a portable format, and withdraw consent at any time. To exercise these rights, use the "Reset Collection" feature in your profile or contact us directly.
6. Data Retention
Your data is retained as long as you use the app. You can delete all data at any time via Profile → Reset Collection. Clearing your browser data also removes all stored information.
7. Children's Privacy
The app is suitable for users of all ages. We do not knowingly collect personal information from children under 13 without parental consent. If you believe a child has provided personal data, contact us for removal.
8. Changes to This Policy
We may update this policy from time to time. Changes will be reflected in the "Last updated" date above. Continued use of the app after changes constitutes acceptance.
Last updated: May 2026
1. Acceptance of Terms
By accessing or using Mojigari ("the app"), you agree to be bound by these Terms of Service. If you do not agree, do not use the app.
2. Description of Service
Mojigari is a Japanese language learning application that provides kanji analysis, collection, spaced repetition training, daily practice rituals (Daily Quiz, Booster Pack, Discovery sessions), and JLPT-style promotion exams. The app offers both free and premium tiers.
3. User Accounts
You are responsible for maintaining the confidentiality of your account credentials. You agree to provide accurate information and to update it as necessary.
4. User Content
You retain ownership of any text you submit for analysis. By submitting text, you represent that you have the right to use it for personal learning purposes. We do not claim ownership of your content.
5. Intellectual Property
The app, including its design, code, kanji database, grammar database, and all original content, is the intellectual property of Mojigari. Third-party data sources are used under their respective licenses (see About section). You may not reproduce, distribute, or create derivative works from the app without permission.
6. Premium Services & Payments
Premium features are offered via subscription. Plans are presented at $5.99/month, $59.99/year, or $99.99/two years (a 14-day free trial is included). Pricing in your local currency may differ slightly based on the platform's exchange rate at checkout. Payments are processed by Stripe (web purchases) or Google Play Billing (Android purchases); subscription state is reconciled across platforms by Adapty. Mojigari does not handle, store, or see your payment details. Refunds are governed by the policies of the platform through which you subscribed: for Google Play, refund requests go through Google Play's refund process; for Stripe (web), contact us within 14 days of purchase and we will process a refund in line with Swiss consumer protection law.
7. Cancellation
You can cancel your subscription at any time. Android subscriptions are managed through Google Play → Subscriptions → Mojigari. Web subscriptions are managed through the "Manage subscription" link in your profile, which opens Stripe's Customer Portal. Cancellation takes effect at the end of the current billing period — you keep premium access until then and will not be charged again.
8. Acceptable Use
You agree not to: reverse-engineer the app, use automated systems to access the service, attempt to circumvent premium feature restrictions, or use the app for any unlawful purpose.
9. Disclaimer of Warranties
The app is provided "as is" without warranties of any kind. We do not guarantee the accuracy of translations, furigana readings, JLPT level assignments, or grammar classifications. Language learning content is for educational reference only and should not be relied on for professional translation or certification.
10. Limitation of Liability
To the maximum extent permitted by Swiss law, Mojigari shall not be liable for any indirect, incidental, or consequential damages arising from your use of the app.
11. Modifications
We reserve the right to modify these terms at any time. Material changes will be communicated through the app. Continued use after modifications constitutes acceptance.
12. Governing Law
These terms are governed by the laws of Switzerland. Any disputes shall be resolved in the courts of Geneva, Switzerland.
13. Contact
For questions about these terms, please reach out via the support section of the app.