#chinese #traditional #convert #hanzi #simplified


A fast Traditional Chinese to Simplified Chinese conversion library. Built with FST, faster than most of other libraries.

5 unstable releases

0.3.1 Jun 7, 2022
0.3.0 Nov 3, 2021
0.2.1 Oct 31, 2021
0.2.0 Oct 31, 2021
0.1.0 Oct 31, 2021

#464 in Text processing

Download history 37/week @ 2022-12-09 19/week @ 2022-12-16 37/week @ 2022-12-23 17/week @ 2022-12-30 141/week @ 2023-01-06 130/week @ 2023-01-13 128/week @ 2023-01-20 98/week @ 2023-01-27 67/week @ 2023-02-03 45/week @ 2023-02-10 84/week @ 2023-02-17 78/week @ 2023-02-24 45/week @ 2023-03-03 33/week @ 2023-03-10 48/week @ 2023-03-17 25/week @ 2023-03-24

153 downloads per month
Used in 4 crates (3 directly)

MIT license

223 lines


A super-fast Chinese translation tool to translate Traditional Chinese to Simplified Chinese.

Use hashbrown to build the translation state machine.


let t = "企畫 計畫 企劃 計劃 畫圖 畫畫";
let s = fast2s::convert(k);
assert_eq!(&s, "企划 计划 企划 计划 画图 画画");


See simple.rs under benches directory. I compared the result with opencc-rust, simplet2s-rs, and character_converter. As character_converter is too slow, I have to change the sample size to 10 to not wait super long.

Test result (convert and return new string):

tests fast2s simplet2s-rs opencc-rust character_conver
zht 188us 729us 5.98ms 1.23s
zhc 169us 941us 6.89ms 2.87s
en 69us 3.31ms 13.99ms 26.11s

Test result (mutate existing string):

tests fast2s simplet2s-rs opencc-rust character_conver
zht 121us N/A N/A N/A
zhc 139us N/A N/A N/A
en 78us N/A N/A N/A


  1. benchmark is done with rust 1.56.1.
  2. zht means load "math_zht.txt" and translate, zhc means load "math_zhc.txt" (all Simplified Chinese) and translate, en means load "math_en.txt" (all English) and translate.
  3. N/A means not supported.

Please do not trust the benchmark result directly, you shall run it in your local environment. See how to run benchmark.


t2s.txt is borrored from simplet2s.


~21K SLoC