#characters #unicode-characters #unicode #conversion #full-width #half-width

bin+lib full2half

Library and CLI for converting full-width characters to half-width characters and vice versa

2 releases

0.1.1 Mar 24, 2024
0.1.0 Jan 15, 2024

#1108 in Command line utilities

Download history 1/week @ 2024-03-15 110/week @ 2024-03-22 41/week @ 2024-03-29 8/week @ 2024-04-05

54 downloads per month

MIT license

481 lines


A simple project to allow conversion of full-width characters to half-width characters and vice versa, which supplies a library and CLI binary.

Command-Line Interface

The binary has three main functions.

Convert a string directly:

full2half "Hello World!"

Do the conversion on a file by overwriting or copying:

This will overwrite the file.

full2half -f "file_to_convert.txt"

This will create a copy with this naming scheme:
"[File Name] ([Duplicate Counter])[ext]"

full2half -c -f "file_to_convert.txt"

Customize Behaviour:

If needed you can also ignore specific characters like so:

full2half -i "" "" -- "Hello World!"

Or ignore specific character sets by using the specified flags, get more info by running:

full2half -h


To use this library in your Rust project, simply add the following line to your Cargo.toml file:

full2half = { version = "0.1.0" }

To install the full2half binary locally, simply run the following command:

cargo install full2half

The binary will be downloaded from crates.io and compiled by cargo. After installation you can simply use the full2half binary from the command line.


Simply import the CharacterWidth trait and you are ready to go:

use full2half::CharacterWidth;

let full_width_string = "Hello World!";
let half_width_string = "Hello World!";

println!("{}", full_width_string.to_half_width());
println!("{}", half_width_string.to_full_width());

See more details in the docs.

Character References



If you find any missing characters, conversion errors, bugs or want to extend functionality feel free to do a merge request.


This library is licensed under the MIT license. See the LICENSE file for details.


~33K SLoC