How XOR encryption with a key works
XOR is the simplest form of symmetric encryption: the text is turned into bytes and each byte is combined with a byte of the key using an exclusive-or. Running the same operation again with the same key gives the original bytes back, which is why encryption and decryption are the same calculation. It shows up constantly in tutorials, CTF challenges and quick obfuscation of stored values.
Non-Latin text and emoji survive the round trip. The text is encoded as UTF-8 bytes before the XOR and the result is shown as Base64 or hexadecimal, so anything you type comes back exactly when you decrypt with the same key. Pick the same format you used to encrypt, and if the input contains characters that format does not allow, the tool says which characters are valid instead of producing garbage.
Do not treat it as security. A repeating key leaks its pattern as soon as the message is longer than the key, and frequency analysis peels it apart quickly. XOR also runs happily with the wrong key and simply produces meaningless bytes, so this tool checks whether the result decodes as valid UTF-8 and warns you when it does not. For anything that truly needs protecting, use AES through the Web Crypto API or another vetted implementation.
Frequently asked questions
No. With a single repeating key the pattern shows as soon as the message is longer than the key, and frequency analysis breaks it. Keep passwords and personal data away from it and use a vetted algorithm such as AES.
XOR runs with any key and produces meaningless bytes. This tool checks whether those bytes decode as valid UTF-8 and tells you the key may be wrong or the input damaged instead of showing scrambled characters.