Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Command Line Options

Sauva - Terminal Unicode Explorer 🪄

Usage: sauva [OPTIONS] [INPUT]

Arguments:
  [INPUT]  Text or code point to inspect, or - to read stdin

Options:
  -t, --text <TEXT>           Treat the input as literal text, without code point notation parsing; - reads stdin
  -g, --graphics <MODE>       Control glyph preview graphics [default: auto] [possible values: auto, force, iterm2, off]
      --print-default-config  Print the complete default configuration to standard output
  -h, --help                  Print help
  -V, --version               Print version

INPUT

Input is interpreted in this order:

  1. An input containing a single code point opens the Inspector.
  2. U+ or 0x followed by one to six hexadecimal digits selects a code point. The prefixes are case-insensitive.
  3. An argument made entirely of hexadecimal digits is interpreted as a code point. It must contain two to six digits.
  4. Other nonempty text opens Sequence mode when it contains multiple code points, even if it looks like one character.

Code point values must be between U+0000 and U+10FFFF. Empty input is rejected.

ExampleInterpretation
sauva あInspect U+3042
sauva AInspect the letter A (U+0041)
sauva U+AInspect U+000A
sauva 41Inspect U+0041
sauva 1F600Inspect U+1F600
sauva 'Á👩‍💻'Analyze a sequence of code points

A hexadecimal-only argument that fails notation parsing is rejected; it does not fall back to literal text. For example, use --text for a string of seven hexadecimal digits.

-t, --text <TEXT>

Treat the input as literal text without parsing code point notation:

sauva --text 41
sauva -t U+2192

A single code point still opens the Inspector; multiple code points open Sequence mode. Empty text is rejected.

INPUT and --text cannot be supplied together.

Reading from Stdin

Use - as INPUT to read stdin using the same interpretation rules. Use --text - to read literal text instead.

printf 'U+2192' | sauva -
printf 'Á👩‍💻' | sauva -
printf '41' | sauva --text -
printf 'A\nB\n' | sauva -
sauva --text - < input.txt

Sauva reads UTF-8 input until EOF before starting the TUI. All whitespace, including trailing LF and CRLF, is preserved. Empty input and invalid UTF-8 are rejected.

In particular, echo U+2192 | sauva - is rejected because the newline is part of the code point notation. Use printf 'U+2192' | sauva - for notation, or echo U+2192 | sauva --text - to inspect the literal text including its newline.

Stdin is read only when - is explicitly supplied. An interactive terminal is still required for keyboard input.

Since - selects stdin, use sauva U+002D to inspect the hyphen character itself.

-g, --graphics <MODE>

ModeBehavior
autoUse the Kitty graphics protocol in detected kitty and Ghostty terminals; otherwise omit glyph images
forceUse the Kitty graphics protocol without terminal detection
iterm2Use the iTerm2 inline image protocol; never selected automatically
offDisable glyph images

See Compatibility for support details.

--print-default-config

Print the complete built-in configuration, including default keybindings, and exit:

sauva --print-default-config
sauva --print-default-config > config.toml

This option does not start the TUI or load your local configuration. It must be used on its own.

See Configurations for where to put the file.

-h, --help and -V, --version

Print command line help or the installed application version and exit.