Skip to main content
.NETStandard2.0

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

Published
Dec 14, 2025
10mo ago
Total Downloads
625.1K
625,070

Install

dotnet add package MyNihongo.KanaConverter --version 1.0.5
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);
}

Appending to a StringBuilder

var result = new StringBuilder()
	.Append("some text and ")
	.AppendToHiragana("hiragana")
	.Append(" and ")
	.AppendToKatakana("katakana")
	.Append(" and ")
	.AppendToRomaji("γ²γ‚‰γŒγͺγƒ»γ‚«γ‚Ώγ‚«γƒŠ")
	.ToString(); // result "some text and γ²γ‚‰γŒγͺ and γ‚«γ‚Ώγ‚«γƒŠ and hiraganakatakana"

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.4 and v1.0.5.

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.