A curated list of awesome Japanese-related developer resources, libraries, APIs, datasets, open data, and communities.
- Natural Language Processing
- Character Processing
- Geography, Maps & Addresses
- Dates & Holidays
- Dictionaries & Datasets
- Fonts
- Typography & Text Layout
- APIs
- Machine Learning & AI
- Data Analysis & Finance
- E-Commerce & Payments
- Social & Messaging Integrations
- Cloud & Infrastructure
- Anime & Manga APIs
- Audio, Speech & Input Methods
- Open Data & GeoJSON
- CLI & GUI Tools
- Videos & Conferences
- Forums & Communities
- Articles, Blogs & Platforms
- Related Awesome Lists
Libraries for tokenization, morphological analysis, and POS tagging.
- Java
- Python
- Fugashi - A Cython wrapper for MeCab, widely used in Python.
- Janome - Japanese morphological analysis engine written in pure Python.
- spaCy Japanese - Japanese models for spaCy (using Sudachi/MeCab under the hood).
- Ginza - Japanese NLP Library based on spaCy and SudachiPy.
- nagisa - A simple, easy-to-use Japanese word segmenter and POS-tagger based on recurrent neural networks.
- SudachiPy - A highly configurable Python version of the Sudachi morphological analyzer.
- rhoknp - A modern Python binding for Juman++ and KNP (Kyoto University's NLP tools) providing intuitive access to morphology and dependencies.
- C/C++
- MeCab - Yet Another Part-of-Speech and Morphological Analyzer.
Tools for converting between Kanji, Hiragana, Katakana, and Romaji.
- JavaScript / TypeScript
- Python
- Cutlet - A Japanese to Romaji converter.
- pykakasi - Python implementation of Kakasi (Kanji Kana Simple Inverter).
- jaconv - A pure-Python library for converting Japanese characters between Hiragana, Katakana, Hankaku (half-width), and Zenkaku (full-width).
- mojimoji - A fast converter between hankaku and zenkaku characters, written in Cython.
- Ruby
- Moji - Ruby library for processing Japanese characters.
- C
- Kakasi - Kanji Kana Simple Inverter.
APIs and tools related to Japanese addresses, postal codes, and maps.
- Rust - japanese-address-parser - Robust library to handle various Japanese address notations (also has Python/Wasm bindings).
- Node.js - jp-address-parser - Parses Japanese addresses by matching input against prebuilt city data.
- Ruby - japanese_address_parser - Ruby gem for parsing Japanese addresses.
- Python - jageocoder - Provides geocoding and reverse-geocoding functionality for Japanese addresses.
- HeartRails Geo API - Free API for geographical data in Japan (prefectures, cities, postal codes, stations).
- YubinBango - JavaScript library to automatically fill in addresses from Japanese postal codes.
- RESAS API - Regional Economy Society Analyzing System API provided by the Japanese government.
- zipcloud - Free Japanese postal code search API.
- Japan GSI Maps - Geospatial Information Authority of Japan mapping APIs and tiles.
Working with Japanese eras (Gengo) and national holidays.
- Python - python-shukujitsu - Dict-like interface to check for Japanese holidays.
- Node.js - japanese-holidays - Library to determine Japanese national holidays.
- Ruby - koyomi - Ruby gem for Japanese calendar and holidays.
- Swift - JapaneseHoliday - Library designed for calculating Japanese holidays using Swift.
- Java / Kotlin - holiday_jp-java - Java library for checking holidays.
- Rust - holidays_jp - Library and CLI tool for checking holidays.
- Other - The holiday-jp GitHub organization maintains repositories for Go, PHP, Elixir, etc.
- JMdict / EDICT - Extensive Japanese-English dictionary project.
- KANJIDIC - Comprehensive database of Kanji information.
- JMDict-Simplified - Simplified JSON version of JMdict.
- Tatoeba - A large database of example sentences with translations.
These are the underlying vocabularies that power the tokenization and morphological analysis tools (like MeCab and Sudachi) mentioned in the NLP section.
- mecab-ipadic-NEologd - A highly popular customized dictionary for MeCab that includes massive amounts of neologisms (new words), proper nouns, slang, and web-crawled vocabulary. Essential for parsing modern internet text.
- UniDic - The modern, strictly-defined morphological dictionary developed by NINJAL (National Institute for Japanese Language and Linguistics). It is the recommended standard for modern MeCab and Fugashi usage.
- SudachiDict - The lexicon used by the Sudachi analyzer. It is unique because it provides multiple dictionary sizes (Small, Core, Full) and includes normalized forms and synonym grouping out-of-the-box.
- IPADIC - The legacy standard dictionary for MeCab. While historically significant, it is no longer actively updated, and UniDic or NEologd are generally preferred for new projects.
- BCCWJ (Balanced Corpus of Contemporary Written Japanese) - A massive, meticulously annotated corpus created by NINJAL, used as the foundational training data for many Japanese NLP models and the UniDic dictionary.
- Kyoto University Web Document Corpus (KWDLC) - A heavily annotated corpus of Japanese web documents, providing morphology, named entity, and dependency annotations. Crucial for training tools like Juman++ and KNP.
- Wikipedia Japanese Dumps - Useful, massive raw text corpus for training language models.
High-quality open-source Japanese typography.
- Google Noto Fonts (Japanese) - Noto Sans JP and Noto Serif JP.
- M PLUS Fonts - Popular open-source Japanese font family.
- BIZ UDGothic - Universal Design font ideal for readability.
Libraries and tools for managing Japanese typesetting, line-breaking (Kinsoku Shori), punctuation spacing (Yakumono), and rendering Furigana (Ruby) in JavaScript/TypeScript projects.
- budoux - A standalone, machine-learning-powered line-breaking library by Google. It prevents awkward line breaks by wrapping logical "phrases" in non-breaking markup, improving Japanese text readability without relying on dictionaries. Available via npm.
- budou - The predecessor to BudouX, which translates Japanese text into HTML with proper line breaks using the Google Cloud Natural Language API.
- YakuHanJP - A specialized web font package (
yakuhanjpon npm) exclusively for Japanese punctuation marks (Yakumono). It allows you to apply kerning/spacing adjustments to brackets and commas without affecting the main text font. - @fontsource/noto-sans-jp - The recommended npm package to self-host the Noto Sans JP font, avoiding layout shifts and latency from external Google Fonts requests.
- japanese-fonts-css - CSS configurations via npm to provide robust, cross-platform default font stacks for Japanese typography.
- Native HTML & CSS - For most web applications, native CSS features and HTML tags are the standard. The HTML
<ruby>tag for Furigana and CSS properties likewriting-mode: vertical-rl;for vertical text, orline-break: strict;andword-break: break-all;for standard line wrapping handle the majority of Japanese layout requirements natively. - kuroshiro - While primarily for character conversion, it is extremely useful for typography as it can programmatically parse Japanese sentences and output them wrapped in proper HTML
<ruby>tags with Furigana. - react-native-furi - A React Native component for rendering Ruby (Furigana) characters, useful for mobile contexts where HTML
<ruby>tags are not available.
Rendering Japanese text in 3D (WebGL/Three.js/PixiJS) is notoriously difficult due to the massive character set (thousands of Kanji), which makes standard bitmap font atlases memory-prohibitive.
- troika-three-text - A robust text rendering engine for Three.js. It supports automatic runtime SDF (Signed Distance Field) generation and text layout, avoiding the need to pre-generate massive texture atlases for the entire Japanese language.
- three-msdf-text-utils - Modern utilities for Three.js that allow for runtime WebAssembly-based MSDF generation from TTF files. Ideal for rendering high-quality, scalable Japanese text on demand without massive VRAM overhead.
- msdf-bmfont-xml - A CLI tool to pre-generate MSDF font atlases. For Japanese, developers often use this to create "subset" fonts (atlases containing only the specific Kanji/Kana used in a specific scene or game level) to save memory.
Libraries for text shaping, Unicode segmentation, and character encodings in systems languages (Rust, C/C++). These are foundational for rendering complex Japanese typography (vertical text, kerning, full-width characters) outside of web browsers.
- Rust
- OxiText - A comprehensive, pure-Rust text layout pipeline. It handles text shaping, bidirectional reordering, and UAX #14 line breaking, acting as a modern replacement for the traditional C stack (HarfBuzz/Pango).
- Rustybuzz - A complete, pure-Rust port of the HarfBuzz shaping algorithm. Perfect for high-performance Japanese text shaping without C++ dependencies.
- unicode-width - An essential crate for CLI applications to accurately determine the display width of Unicode characters, successfully distinguishing between half-width (Hankaku) and full-width (Zenkaku) Japanese characters.
- Lindera - A morphological analysis library written in pure Rust. It is the standard tool for segmenting Japanese text for search engines (like Tantivy).
- encoding_rs - Highly-optimized character encoding library used by Firefox, excellent for decoding legacy Japanese encodings (Shift_JIS, EUC-JP) into UTF-8.
- C / C++
- HarfBuzz - The industry-standard text shaping engine. It is strictly responsible for converting Unicode text into properly positioned glyphs, heavily handling complex OpenType features like Japanese kerning and ruby formatting.
- Ekispert Web Services - Comprehensive Japanese transit routing and station API.
- Yahoo! Japan Developer Network - APIs for text analysis, maps, shopping, etc.
- Jisho API - Unofficial API to search the popular Jisho.org dictionary.
Frameworks, models, and curated lists specific to Japanese AI research.
Standard LLMs often struggle with Japanese due to subword tokenization failing to grasp Kanji semantics and phonology.
- rinna Co., Ltd. (rinnakk) - Prominent Japanese AI company releasing powerful Japanese LLMs (e.g., japanese-gpt-neox). Models are primarily hosted on Hugging Face.
- awesome-japanese-llm - A comprehensive, curated list of Japanese Large Language Models (LLMs), datasets, and evaluation tools.
- YOMI-Bench - A crucial benchmark framework specifically designed to evaluate how well Japanese LLMs handle Kanji reading and phonological awareness (On-yomi vs. Kun-yomi), highlighting gaps in character-level understanding.
Traditional OCR struggles heavily with Japanese vertical text, furigana (ruby characters), and text overlaid on complex backgrounds (like manga or raw comic scans).
- manga-ocr - The current open-source industry standard (Python-based) for reading Japanese text from manga. It excels at parsing vertical text, furigana, and low-quality scans using a custom Vision-Encoder-Decoder model.
- MangaOCR (gnurt2041) - A lightweight, alternative implementation of manga OCR designed to run with a much smaller footprint (~8MB model size) while maintaining robust vertical text recognition.
- Namida-OCR - A browser extension that runs local OCR. It includes specifically trained data for handling Japanese vertical text natively in the browser without server dependencies.
- CuPy - High-performance NumPy/SciPy-compatible array library for GPU computing, originally developed by Preferred Networks (PFN).
Tools for quantitative analysis, financial data, and official government statistics.
- e-Stat API - The official portal and API for Japanese government statistics (population, labor, economy).
- J-Quants API - Financial market data provided by the Japan Exchange Group (JPX) for algorithmic trading and analysis.
- kabukit - A high-performance toolkit that simplifies data access for both J-Quants and EDINET (financial disclosure) APIs.
Gateways and APIs for processing transactions in the Japanese market.
- KOMOJU - A comprehensive payment gateway tailored for Japan, offering a unified API for credit cards, Konbini (convenience store) payments, and digital wallets.
- PayPay API - Developer portal for integrating PayPay, Japan's leading QR code and digital wallet payment system.
- Paidy - The leading "Buy Now, Pay Later" (BNPL) service in Japan, allowing users to pay with just an email and phone number.
APIs and tools for integrating with Japan's dominant communication platforms.
- LINE Messaging API - Essential API for building LINE bots and sending messages to users. A must-have for B2C apps in Japan.
- LIFF (LINE Front-end Framework) - A platform for running web apps inside the LINE app, seamlessly linking user profiles.
- create-liff-app - Official CLI tool to quickly bootstrap new LIFF projects using React, Vue, Next.js, or plain TypeScript.
Domestic cloud providers highly popular among Japanese developers and enterprises.
- Sakura Cloud - Enterprise-grade IaaS platform by SAKURA internet. Highly stable, with strong Terraform support and Japanese data centers.
- ConoHa VPS - Developer-friendly, cost-effective VPS hosting. Known for fast deployment, hourly billing, and an OpenStack-compatible API.
Open-source APIs and wrappers for interacting with extensive anime and manga databases.
- Jikan API - The most popular open-source, unofficial REST API for MyAnimeList. Has wrappers in almost every programming language.
- AniList API - Official GraphQL-based API for anime, manga, and character data. Highly flexible and robust.
- MangaDex API - Official REST API for the most comprehensive manga/scanlation database.
Open-source Text-to-Speech (TTS), Automatic Speech Recognition (ASR), and Input Method Editors.
- Speech Recognition (ASR)
- ReazonSpeech - A massive open-source corpus of Japanese speech and highly accurate ASR models.
- ESPnet - End-to-end speech processing toolkit (ASR, TTS, translation) heavily driven by Japanese researchers.
- Julius - High-performance, small-footprint Japanese speech recognition engine.
- Text-to-Speech (TTS)
- Input Methods (IME)
- Mozc - The open-source foundation of Google Japanese Input. Widely used on Linux (with Fcitx/IBus) and other platforms.
Official government data portals, and openly available spatial/geographical datasets.
- DATA.GO.JP - The central, official portal for Japanese government open data (catalog of datasets across ministries).
- Digital Agency GitHub (digital-go-jp) - The official GitHub organization for Japan's Digital Agency.
- code4fukui/localgovjp - A highly useful, community-maintained list of all local governments in Japan in machine-readable JSON/CSV formats.
- dataofjapan/land - High-quality GeoJSON and TopoJSON files of Japanese prefectures, converted from official GSI data.
- niiyz/JapanCityGeoJson - GeoJSON and TopoJSON data specifically for Japanese cities and municipalities.
- piuccio/open-data-jp-prefectures-geojson - Clean, simplified GeoJSON file of Japanese prefectures with utility methods.
- geolonia/japanese-boundaries - Comprehensive boundary data for various administrative levels in Japan.
- geolonia/japanese-prefectures - A clean SVG map of Japan designed for web interfaces, grouped by prefecture with data attributes for easy CSS styling.
- ka215/svg-japan - A native JavaScript plugin that generates an interactive, SVG-formatted map of Japan with support for custom colors and events.
- wakabayashiyu/japan-clickable-map-svg - A repository specifically focused on a clickable SVG implementation of the Japan map.
- SaitoTsutomu/japanmap - A Python package to generate SVG or image-based Japan maps and colorize them based on data.
Developer tools, text editors, and command-line utilities specifically built for or excelling at Japanese text.
- textlint - Pluggable linting tool for natural language. Extremely popular in Japan for proofreading Japanese Markdown and documentation.
- nkf (Network Kanji Filter) - A classic, powerful CLI tool used to guess and convert Japanese character encodings (Shift_JIS, EUC-JP, UTF-8).
- Jisho CLI (llllllllll/jisho) - A feature-rich terminal tool for querying Jisho.org, with local SQLite storage and Anki export.
- Sakura Editor - A highly regarded, classic open-source text editor for Windows, built specifically to handle Japanese encodings perfectly.
- CotEditor - A lightweight, open-source macOS native text editor with excellent support for CJK languages and vertical text mode.
- Yomitan - An open-source browser extension that acts as a pop-up Japanese dictionary. Essential for developers reading Japanese technical documentation.
Channels covering major Japanese developer events and tech talks (many include English subtitles or dual tracks).
- RubyKaigi - The world's leading Ruby conference, originating in Japan.
- DroidKaigi - Developer-first Android conference from Japan, heavily focused on Kotlin and Jetpack.
- PHP Conference Japan - Archives of the main PHP event in Japan.
- PyCon JP - The premier Python community conference in Japan.
- iOSDC Japan - The largest conference for iOS and Swift developers in Japan.
Places to ask technical questions, find local events, and network with other developers in Japan.
- Q&A Sites
- teratail (テラテイル) - A dedicated Q&A site for IT engineers and programmers, tailored for the Japanese language and development ecosystem.
- Stack Overflow (Japanese) - The official Japanese-language version of Stack Overflow.
- Event & Community Platforms
- connpass - The premier IT study session and event management platform in Japan. Most developer meetups and community groups are hosted here.
- Doorkeeper - Another popular platform used by Japanese developer communities to organize tech events and meetups.
- Communities for International Developers
- TokyoDev - A job board and a strong Discord community specifically focused on English-speaking software developers living in or looking to move to Japan.
- Japan Dev - Similar to TokyoDev, providing roles, company insights, and community resources for foreign developers navigating the Japanese tech landscape.
Where Japanese engineers share their knowledge, plus directories of tech companies' engineering blogs.
- Blogging Platforms
- Qiita - The largest technical knowledge-sharing platform for Japanese developers.
- Zenn - A modern platform popular for technical articles and "Zenn Books".
- Publickey - Reliable, independent tech blog covering cloud and enterprise development trends in Japan.
- gihyo.jp - Professional technical articles by Gijutsu-Hyohron Co., Ltd.
- Company Engineering Blogs
- Mercari Engineering - Deep dives into the tech behind Japan's biggest marketplace app (often in English).
- LINE Engineering - Articles on scaling services to hundreds of millions of users.
- Cookpad Tech Life - Highly respected blog from the pioneers of Ruby on Rails in Japan.
- awesome-japan - A broad, curated list covering various topics including companies using specific tech in Japan.
- awesome-japanese-nlp-resources - A premier resource for Japanese NLP (Python, LLMs, dicts, corpora).
- top-github-users-only-japan - Community-driven repository tracking the most active GitHub users in Japan.
- Awesome-Japanese (Language Learning) - Comprehensive collection of resources for learning the Japanese language.
- Japanese Lingo for Developers - A technical glossary of Japanese terms useful in software development environments.
Contributions are welcome! Please read the contribution guidelines before submitting a pull request.