Unicode gives every character a unique number called a code point, written as U+ followed by hexadecimal digits. The capital A is U+0041 and the euro sign is U+20AC. The standard also contains a block called Mathematical Alphanumeric Symbols, from U+1D400, with complete alphabets of bold, italic, script, fraktur, double-struck, sans-serif and monospace letters, plus matching digits for some of them.
Because each alphabet is laid out in the same order as A to Z, the converter works by arithmetic. The bold sans-serif capitals start at U+1D5D4, so H, the eighth letter, becomes U+1D5D4 plus 7, which is U+1D5DB. Some letters in the script, fraktur and double-struck sets live elsewhere, because Unicode already had them: script H is U+210B and double-struck H is U+210D. The tool handles those exceptions itself. Other rows come from different blocks: fullwidth letters from the fullwidth forms, circled and squared letters from the enclosed alphanumerics, plus small capitals, superscripts, subscripts and look-alikes for upside down and mirror text.
Only the basic Latin letters and digits are converted. Accented letters, other scripts and emoji pass through unchanged, so a word such as cafรฉ comes back with a styled c, a, f and an unstyled รฉ. Spaces, punctuation and line breaks are also left alone, which keeps the sentence structure readable.
Once you have a code point you can write the character in source code without pasting it. The bold H at U+1D5DB is 𝗛 in HTML, \1D5DB inside a CSS string, \u{1D5DB} in JavaScript and \U0001D5DB in Python. Developers use this to find out why two strings that look identical do not compare equal, since a styled letter and its plain twin have different numbers. Writers and linguists use the same lookup for phonetic symbols, mathematical operators and letters from other scripts.