Skip to main content
.NETStandard2.0

Extension methods for conversion of Japanese characters, e.g. hiragana (γ²γ‚‰γŒγͺ) and katakana (γ‚«γ‚Ώγ‚«γƒŠ).

Published
Jul 12, 2025
1y ago
Total Downloads
625.1K
625,070

Install

dotnet add package MyNihongo.KanaConverter --version 1.0.4
ProductVersions
.NET Standard
netstandard2.0

README

Version NuGet downloads
Extension methods for kana conversion.

  • ToRomaji() - convert Hiragana (γ²γ‚‰γŒγͺ) or Katakana (γ‚«γ‚Ώγ‚«γƒŠ) to romaji.
  • ToHiragana() - convert romaji to Hiragana (γ²γ‚‰γŒγͺ).
  • ToKatakana() - convert romaji to Katakana (γ‚«γ‚Ώγ‚«γƒŠ).
  • KanaToHiragana() - convert Hiragana (γ²γ‚‰γŒγͺ) or Katakana (γ‚«γ‚Ώγ‚«γƒŠ) to Hiragana (γ²γ‚‰γŒγͺ).
  • KanaToKatakana() - convert Hiragana (γ²γ‚‰γŒγͺ) or Katakana (γ‚«γ‚Ώγ‚«γƒŠ) to Katakana (γ‚«γ‚Ώγ‚«γƒŠ).
var romaji = "γ²γ‚‰γŒγͺγƒ»γ‚«γ‚Ώγ‚«γƒŠ".ToRomaji(); // result "hiraganakatakana"
var hiragana = "hiragana".ToHiragana(); // result "γ²γ‚‰γŒγͺ"
var katakana = "katakana".ToKatakana(); // result "γ‚«γ‚Ώγ‚«γƒŠ"
var kanaToHiragana = "γ²γ‚‰γŒγͺγƒ»γ‚«γ‚Ώγ‚«γƒŠ".KanaToHiragana(UnrecognisedCharacterPolicy.Append); // result "γ²γ‚‰γŒγͺγƒ»γ‹γŸγ‹γͺ"
var kanaToKatakana = "γ²γ‚‰γŒγͺγƒ»γ‚«γ‚Ώγ‚«γƒŠ".KanaToKatakana(UnrecognisedCharacterPolicy.Append); // result "γƒ’γƒ©γ‚¬γƒŠγƒ»γ‚«γ‚Ώγ‚«γƒŠ"

StringBuilder with Microsoft.Extensions.ObjectPool

using Microsoft.Extensions.ObjectPool;

var stringBuilderPool = new DefaultObjectPoolProvider()
	.CreateStringBuilderPool();

for (var i = 0; i < 1_000_000; i++)
{
	var romaji = "γ²γ‚‰γŒγͺγƒ»γ‚«γ‚Ώγ‚«γƒŠ".ToRomaji(stringBuilderPool: stringBuilderPool);
}

Handling unrecognised characters

When an unexpected character is encountered in the supplied character sequence the following options are available:

  • ThrowException (default): InvalidCharacterException will be thrown.
  • Skip: characters will not be processed (just ignored).
  • Append: characters will be added to the result string (appended).

Changes from Previous Version

No structural changes between v1.0.3 and v1.0.4.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

Compatibility metadata lists 1 target framework; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.