Manchester Encoder & Decoder
Use this Manchester Encoder & Decoder to convert binary, hexadecimal or ASCII data into Manchester-coded signal pairs, or decode a Manchester level stream back into its original binary data. Choose either IEEE 802.3 or Thomas polarity convention.
01 universally means binary 1.
| # | Data Bit | Manchester Pair | Transition |
|---|
-
-
What Is Manchester Encoding?
Manchester encoding is a line coding method in which every original data bit is represented by two signal halves with a mandatory transition at the center of the bit period.
Because every encoded bit contains a transition, the transmitted signal contains timing information that a receiver can use for clock recovery. Manchester coding therefore avoids long runs with no transitions, although it requires twice as many signal-level intervals as the original binary data.
Manchester Encoding Conventions
One important detail is that two opposite mappings are commonly called Manchester encoding.
| Convention | Binary 0 | Binary 1 | Interpretation |
|---|---|---|---|
| IEEE 802.3 | 10 | 01 | 0 = high-to-low, 1 = low-to-high |
| Thomas | 01 | 10 | 0 = low-to-high, 1 = high-to-low |
For this calculator, level 1 represents HIGH and level
0 represents LOW.
IEEE 802.3 Manchester Encoding
Using the IEEE convention:
Therefore:
Thomas Manchester Encoding
The Thomas convention uses the opposite polarity assignment:
For the same original data:
Manchester Encoding Example
Encode the byte:
Using IEEE 802.3 mapping:
Result:
How to Decode Manchester Code
Manchester decoding divides the received signal into pairs of half-bit levels and converts each valid pair back to the associated binary value.
For IEEE 802.3:
The pairs 00 and 11 are invalid for a normally
aligned Manchester data bit because they contain no center transition.
Why Manchester Encoding Doubles the Level Count
Every original data bit becomes two physical signal intervals:
An eight-bit byte therefore produces sixteen level intervals.
Manchester Encoding and Bandwidth
The guaranteed mid-bit transition makes Manchester coding useful for clock recovery, but the extra transitions also increase the signaling bandwidth compared with basic NRZ coding.
Manchester should therefore not be described as a data-compression scheme. It adds signal structure in exchange for synchronization properties.
Why Manchester Is Self-Clocking
The receiver knows that a transition should occur in the center of every data bit. This predictable transition provides timing information even when the source data contains a long sequence of identical bits.
NRZ Example
A long sequence of equal bits can produce a signal with few or no transitions.
Manchester
Every data bit contains at least one central transition regardless of the bit value.
Manchester Mid-Bit Transition
The transition inside each encoded bit is essential. Depending on the selected polarity convention, its direction identifies the original binary value.
Transitions can also occur at the boundary between two adjacent encoded bits, but those boundary transitions do not replace the required mid-bit transition.
Manchester Invalid Pairs
When an already aligned Manchester stream is represented as two level samples per source bit, only two pairs are valid:
These pairs contain the required transition.
An invalid pair may indicate corrupted data, incorrect pair alignment, sampling problems or the wrong assumption about how the waveform was converted into digital level samples.
Binary to Manchester Converter
The binary encoder accepts any sequence containing zeroes and ones. Spaces, commas and common separators can be used for readability and are removed before encoding.
Hexadecimal to Manchester Encoding
Hexadecimal input is first expanded into four binary bits per hexadecimal digit and then Manchester encoded.
Using IEEE mapping:
ASCII to Manchester Encoding
ASCII mode converts each supported character to an eight-bit byte before Manchester encoding.
Those eight binary bits are then converted using the selected Manchester polarity convention.
Manchester Decoder to Hexadecimal
When the decoded binary stream has a whole number of four-bit nibbles, the tool also reports the equivalent hexadecimal value.
If the decoded stream is not nibble-aligned, hexadecimal output is left unavailable instead of silently adding bits.
Manchester Decoder to ASCII
ASCII output requires complete eight-bit decoded bytes. Printable bytes are displayed as characters, while non-printable bytes are represented safely rather than injected into the page.
This makes it possible to decode Manchester level pairs representing text without confusing arbitrary binary values with printable characters.
Manchester vs Differential Manchester
Manchester
The direction of the transition in the middle of the bit represents the data value according to the selected convention.
Differential Manchester
Data is determined from whether an additional transition occurs relative to the previous signal state, while a mid-bit transition is still used for clocking.
They are different encodings. This page handles ordinary Manchester coding, not Differential Manchester.
Manchester vs NRZ
| Characteristic | Manchester | NRZ |
|---|---|---|
| Mandatory mid-bit transition | Yes | No |
| Clock recovery | Strong inherent timing information | Can be difficult with long constant runs |
| Level intervals per bit | 2 | 1 |
| Bandwidth requirement | Generally higher | Generally lower |
Manchester and Ethernet
Classic 10 Mbit/s Ethernet physical signaling is a well-known application of Manchester coding. Later higher-speed Ethernet technologies use different and more bandwidth-efficient physical encoding systems.
For that reason, “Manchester encoding is used by Ethernet” should not be interpreted as meaning every modern Ethernet PHY uses Manchester coding.
Common Manchester Encoding Mistakes
Using the Wrong Convention
IEEE and Thomas mappings are opposite, so the same level pair can decode to the opposite bit.
Accepting 00 or 11
An aligned Manchester bit must contain a central transition.
Forgetting Two Half-Bits
Every original binary bit becomes two signal intervals.
Confusing Boundary Transitions
Transitions between data bits are different from the mandatory transition at each bit center.
Confusing Manchester with Differential Manchester
The two line codes use different rules for representing data.
Adding Padding During Decode
Hex and ASCII conversions should only be reported when the decoded bit length is properly aligned.
Manchester Encoder & Decoder FAQs
What is Manchester encoding?
How is binary 1 encoded in IEEE Manchester?
How is binary 0 encoded in IEEE Manchester?
What is the Thomas Manchester convention?
Why are there two Manchester conventions?
Why does Manchester encoding need two levels per data bit?
Are 00 and 11 valid Manchester pairs?
How do I decode Manchester 01 using IEEE convention?
How do I decode Manchester 10 using IEEE convention?
What does Manchester 01 mean in Thomas convention?
Can this tool encode hexadecimal data?
Can this tool encode ASCII text?
Can Manchester code be converted back to hexadecimal?
Can Manchester code be converted back to ASCII?
Is Manchester encoding self-clocking?
Does Manchester encoding double the data rate?
Is Manchester the same as Differential Manchester?
Does all Ethernet use Manchester encoding?
Encode and Decode Manchester Line Code
Enter binary, hexadecimal or ASCII data to generate Manchester signal pairs, or paste an encoded level stream to validate and decode it using the IEEE 802.3 or Thomas polarity convention.