Converter Tools
EBCDIC to ASCII Converter
Convert EBCDIC to ASCII and back using CP037, CP500, or CP1140. Paste hex or decimal bytes, get readable text, and see a byte by byte breakdown. No signup.
EBCDIC to ASCII converter
Direction
Code page
The classic US English EBCDIC code page. The default on z/OS for US data.
Input byte format
Two hex digits per byte. Spaces, newlines, 0x prefixes, and a leading length are ignored.
Hex from a dump usually pastes cleanly: spaces, line breaks, and 0x prefixes are stripped automatically.
Result
Bytes in
5
Printable
5
Control
0
Byte by byte
Each EBCDIC byte and the character it decodes to under CP037 (US/Canada).
| EBCDIC hex | EBCDIC dec | Character | Unicode |
|---|---|---|---|
| C8 | 200 | H | U+0048 |
| C5 | 197 | E | U+0045 |
| D3 | 211 | L | U+004C |
| D3 | 211 | L | U+004C |
| D6 | 214 | O | U+004F |
Why EBCDIC is not ASCII
In ASCII the letters are contiguous, so A is 0x41 and B is 0x42. In EBCDIC the alphabet is split into three runs left over from punch-card encoding: A to I is 0xC1 to 0xC9, J to R is 0xD1 to 0xD9, and S to Z is 0xE2 to 0xE9. The digits 0 to 9 sit high, at 0xF0 to 0xF9. A byte-for-byte read of an EBCDIC file as ASCII is gibberish, which is why a code page translation is needed.
EBCDIC core values
| Character | EBCDIC hex | ASCII hex |
|---|---|---|
| space | 40 | 20 |
| 0 | F0 | 30 |
| 9 | F9 | 39 |
| A | C1 | 41 |
| I | C9 | 49 |
| J | D1 | 4A |
| R | D9 | 52 |
| S | E2 | 53 |
| Z | E9 | 5A |
| a | 81 | 61 |
These core letter and digit values are the same across CP037, CP500, and CP1140. The code pages differ only on punctuation and accented characters.
How to use
- Choose a direction: EBCDIC to text to decode bytes, or Text to EBCDIC to encode text.
- Pick the code page that matches your source: CP037 for US data, CP500 for International, or CP1140 for US data with the euro sign.
- Set the byte format to hex or decimal, then paste your EBCDIC bytes or type the text to convert.
- Read the output: decoded text shows control bytes as dots, and encoded output lists any character that has no byte in the chosen code page.
- Check the byte by byte table to see each byte lined up with its character and Unicode code point.
- Use the copy button to copy the decoded text or the EBCDIC bytes, and Clear to start over.
About this tool
EBCDIC to ASCII Converter translates between EBCDIC, the 8-bit character encoding IBM mainframes and midrange systems have used since the System/360, and the ASCII or Unicode text that everything else reads. The two encodings are not compatible: the byte values for letters, digits, and punctuation are completely different, and the letters are not even contiguous (A to I, then a gap, then J to R, then a gap, then S to Z), a layout left over from punch-card column encoding. So a data set pulled off a z/OS, z/VM, or IBM i (AS400) host in binary, or a hex dump from a COBOL file, is unreadable until each byte is translated through the right code page. There is no single EBCDIC, so this tool implements the three variants that come up most. CP037 is EBCDIC US/Canada, the classic default for US English data. CP500 is EBCDIC International (Latin-1): the same letters and digits as CP037, but the brackets and a few symbols sit on different bytes. CP1140 is CP037 with the euro sign on byte 0x9F, for newer US data that carries the euro. The byte to Unicode tables are transcribed from the Unicode Consortium mapping files, so a decode matches what a mainframe would produce. It works in both directions. EBCDIC to text takes a string of bytes, as hex (the usual case, since you paste a hex dump) or as space separated decimal values, and decodes each byte to its character, rendering control codes as dots the way a hex viewer does. Text to EBCDIC takes plain ASCII or Unicode text and produces the EBCDIC bytes as hex or decimal, and any character with no representation in the chosen code page is reported rather than silently dropped, so you know exactly what could not be encoded. Hex input is forgiving: spaces, line breaks, and 0x prefixes are stripped automatically, and an odd number of hex digits is flagged with the exact count instead of being guessed at. Every result comes with a byte by byte table that lines up the EBCDIC hex, the EBCDIC decimal, the character, and the Unicode code point, which makes it easy to spot the one byte in a record that came across in the wrong code page. A reference panel shows the core letter and digit values and explains why the EBCDIC alphabet is split into three runs. One honest limit: this converts the single-byte EBCDIC code pages listed here, character by character. It does not handle packed-decimal (COMP-3) fields, zoned-decimal sign nibbles, double-byte (DBCS) Asian code pages, or COBOL copybook record layouts; it reads and writes the byte stream. Everything runs locally in your browser with plain lookup tables, so the bytes you paste or the text you encode are never uploaded, logged, or sent anywhere.
Free to use. Works in your browser. No signup, no login.
Related tools
You may also like
Hex to Text Converter
Bidirectional hex and text converter with UTF-8 bytes and a hex dump view.
Open tool
ConverterText to ASCII Code Converter
Convert text to ASCII character codes (decimal, hex, octal, binary) and decode codes back to text.
Open tool
DeveloperASCII Table
Searchable ASCII reference plus a two-way text-to-code converter.
Open tool
TextUTF-8 Byte Counter
UTF-8 bytes, UTF-16, code points, graphemes, plus SMS, cookie, and payload limits.
Open tool
DeveloperQuoted-Printable Encoder / Decoder
Encode and decode quoted-printable (RFC 2045) and Q encoded-word headers.
Open tool
DeveloperPunycode Converter
Convert IDN domains between Unicode and ASCII Punycode with per-label breakdown.
Open tool