New to Rust? Grab our free Rust for Beginners eBook Get it free →
Online XOR Calculator: Calculate Values

Values written in different bases can be tedious to compare bit by bit when you need their XOR. The online XOR calculator combines the bits in each value and shows the result in decimal, binary and hexadecimal.
I’ll explain how XOR compares bits and show how to enter values with explicit base prefixes.
TL;DR
The online XOR calculator combines each input’s bits and returns the result in decimal, binary and hexadecimal.
- Enter values separated by spaces or commas.
- Use 0b for binary and 0x for hexadecimal when the base might be unclear.
- Check the 32-bit behavior before relying on large values.
What Does XOR Calculate?
XOR, short for exclusive OR, compares bits at matching positions. A result bit is 1 when the two input bits differ and 0 when they match.
For example, 7 is 0111 in binary and 9 is 1001. Comparing the four positions gives 1110, which is 14 in decimal. Leading zeroes can be added to either binary value for alignment, but they do not change its numeric value.
| Bit A | Bit B | A XOR B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
This rule applies independently at every bit position. XOR is commutative, so swapping the two operands does not change the result. Applying the same value twice cancels it: (A XOR B) XOR B equals A.
For more context on JavaScript’s operator syntax and other operators, see the JavaScript operators guide. This page’s input is numeric. It does not encode text or encrypt a message.
How to Use the Online XOR Calculator
Enter one or more values in the input box, calculate, then read the same result in the base your next step needs. The page’s tool accepts decimal numbers and values marked with binary or hexadecimal prefixes.
Step 1: Enter values with explicit bases
Separate values with a comma or whitespace. A 0b prefix marks binary and 0x marks hexadecimal. Plain digits are parsed as decimal unless they consist of multiple 0s and 1s, in which case this calculator treats them as binary.
That automatic rule makes a value such as 101 ambiguous. Use 0b101 when you mean binary, and note that the unprefixed token is parsed as binary rather than decimal.
| Input | Interpretation | Value |
|---|---|---|
| 12 | Decimal | 12 |
| 0b1100 | Binary | 12 |
| 0xC | Hexadecimal | 12 |
| 1100 | Bare digits containing only 0 and 1 | 12 as binary |
For reliable interpretation, prefix binary and hexadecimal values rather than relying on automatic detection. Avoid typing labels or punctuation that are not part of a number.
Step 2: Calculate and read the output
After entering the values, choose Calculate XOR. The result panel reports decimal, binary and hexadecimal representations of the computed value.
For two values such as 0b1101 and 0b1010, align their bits and compare each pair. The output is 0111, or decimal 7 and hexadecimal 0x7. The first zero in 0111 is a leading zero and may be omitted without changing the value.
Use decimal when checking arithmetic, binary when inspecting individual bits, and hexadecimal when copying a compact value into documentation or code. The representation changes, not the underlying result.
Step 3: Verify a multi-value result
The tool folds a list from left to right, XORing each next value with the intermediate result. For 12, 9 and 5, the first pair gives 5, and XORing that with 5 gives 0.
This result is also a useful check: any value XORed with itself produces zero. For a longer list, group values in pairs or track the intermediate result to spot a misplaced separator.
If you work with generated bit masks in JavaScript, the decimal-to-Gray-code converter covers a related representation task. Keep the formats distinct: Gray code is not another notation for the XOR result.
Input Rules and XOR Limits
Input syntax and the JavaScript numeric type determine what the answer means. The embedded script parses tokens as JavaScript Numbers and applies the Number bitwise XOR operator, so it does not provide arbitrary-precision BigInt arithmetic.
| Case | What to expect | Safer approach |
|---|---|---|
| Binary-looking bare digits | Multiple digits made only of 0 and 1 are interpreted as binary | Use 0b to state the base |
| Invalid token | The tool shows an error for unsupported input | Remove labels and check the prefix and digits |
| Large integer | JavaScript Number XOR converts operands to signed 32-bit integers | Use a BigInt-capable implementation for wider values |
| Text or byte strings | The tool expects numeric tokens, not aligned encoded buffers | Use a byte-oriented XOR tool and choose an explicit encoding |
JavaScript Number bitwise operators convert operands to signed 32-bit integers before the operation. Higher bits are discarded.
MDN documents a separate BigInt form. Both operands must be BigInts, which this calculator’s parser does not create.
Read MDN’s XOR operator reference before using a language operator for values outside this calculator’s range.
Numeric XOR also differs from XORing text bytes. Text must first be encoded into bytes, and results may not be printable characters.
A reversible XOR transformation alone does not make a secure cipher. Do not use this calculator to protect secrets.
Start by checking separators if an answer looks unexpected. Make each base explicit next. For large values, validate with an arbitrary-precision implementation instead of assuming the displayed result preserved every bit.
Conclusion
XOR is a per-bit comparison, and explicit prefixes make mixed-base calculator input clearer to interpret. The main limit to remember is that this page uses JavaScript Number bitwise operations, not arbitrary-precision integers.
For the formal operator behavior, consult MDN’s XOR reference. Use a BigInt-based or byte-oriented tool when the values or data format require it.
FAQ
These quick answers cover input and result questions that the sections above do not need to repeat in detail.
Can I XOR more than two values?
Yes. Enter multiple values separated by spaces or commas. The calculator combines them successively.
How do I enter a hexadecimal value?
Prefix it with 0x, such as 0xC. The result is also shown in hexadecimal.
Does XOR encrypt text securely?
No. This calculator handles numeric values, and XOR alone is not a secure encryption method.




