Serial port ASCII and HEX terminal.
Last updated on by Oliver ReedSerialTool Terminal and Hex Terminal
SerialTool provides two dedicated tools for visualizing data flowing through the serial port: the Terminal and the Hex Terminal.
SerialTool Terminal
The Terminal displays all data sent and received through the serial port, organized line by line. Each port can be assigned its own color, making it easy to distinguish multiple communication streams at a glance.
It is also possible to visualize incoming data in several formats: ASCII, Hexadecimal (and mixed combinations including CSV), Binary, Binary Nibble, and Octal.
Termnial screenshot
The Terminal displays all data sent and received through the serial port, organized line by line. Each port can be assigned its own color, making it easy to distinguish multiple communication streams at a glance.
Typing Commands in Terminal Mode
In terminal mode you can type commands directly from your keyboard into the Type your command here area. Every character you type is sent immediately through the serial port selected in the combo box (Serial in use).
The Enter key behavior can be fully customized: you can choose
whether it sends \n (LF), \r (CR), or a combination
such as \r\n, depending on the requirements of the device you are
communicating with.
Type your commands directly in the terminal input area.
If needed, you can quickly clear the current input using the Clear Type Area button.
Operating Modes
Streaming Mode
In Streaming Mode, data appears on a single line until a specific termination character is received
(for example, \n — line feed, hexadecimal 0x0A — or any custom terminator defined by the user).
Once the terminator is detected, a new line is automatically created.
Packet Mode
In Packet Mode, a new line is created whenever SerialTool detects that a packet is complete — that is, when a user-configurable number of milliseconds has passed since the last received byte.
Key Features
- Line marking with custom colors to enhance log readability.
- Automatic line marking for rows that start, end, or contain a specific byte pattern.
- Fast pattern search to locate specific bytes across all received lines.
- Navigation bar for quickly browsing the full history of transmitted and received data.
- Manual marking and filtering to display only the lines you are interested in.
Advanced Terminal Configuration
All terminal behavior can be customized through the Terminal Settings menu, accessible by right-clicking on the terminal.
Terminal Settings window with advanced configuration options.
Terminating Character (Streaming Mode)
Choose the character or sequence that defines the end of a line.
Colors
- Customize colors to improve visibility and organization.
Fonts
- Three built-in fonts optimized for terminal readability.
- Option to select any system font.
- Adjust font size using CTRL + mouse wheel.
- Configure character spacing for clearer visualization during detailed analysis.
Word-Wrap Mode
Enables full visibility of all characters exactly as received, including normally non-printable sequences — ideal for debugging binary or custom protocols.
Line Indicators
- Automatic arrow marker (↵) showing when a line has been completed.
- Display of line numbers on the left side.
- Optional inclusion of timestamps within the line index.
Automatic Saving of Settings
All configuration options can be saved and reused in future sessions, ensuring a consistent and personalized workflow for each user.
Hex Terminal - ASCII and HEX
Data in the form of text and numbers are used for programming the electronic devices. But computers cannot understand human language. They can only understand the data in the form of 0’s and 1’s. To make data interpretable by computer many number formats are being used. Some of them are the Binary number system, Octal number system, Hexadecimal number system, etc.. To make the text understandable by computers ASCII codes are used. Internal converters are used for converting data from one format to another. Hexa to ASCII conversion is discussed below. Computers refer to a standard ASCII code table for reference.
What is the Hexadecimal format?
Hexadecimal Number System is a positional number system system used to represent numbers. It uses sixteen symbols to represent the numbers, hence the name ‘HEX’. Symbols used by hexadecimal ar ‘ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.’ Hexadecimal number system uses alphabets as symbols along with the numerical. The symbols ‘0-9’ are used to represent the numbers 0-9. The symbols ‘A-F’ are used for representing numbers from ten to fifteen. Hexadecimal representation of numbers requires four decimal bits for each digit.
What is an ASCII Code?
ASCII stands for – American Standard Code for Information Interchange. It is one of the milestones of IEEE. It is a character encoding standard for electronic communication for representing letters and alphabets in computers, electronic devices, etc…ASCII was developed in the US, using the Telegraph code. In 1963 the first edition of ASCII code was published. It underwent much revision over the years, and the latest update was done in the year 1986.
ASCII code is based on the English Alphabet. It has 256 character codes, which also includes 127 specified characters.
ASCII code is divided into two sets – Standard ASCII code and Extended ASCII code. Standard ASCII code represents characters such as ‘a’ to ‘z’ and digits ‘0’ to’9′. They range from 0-127 in decimal and from 00 to 7F in Hexadecimal format. These are also known as Printable characters. The code ranging from 0 to 31 contains control characters assigned to control the peripheral devices and are not printable.
Extended ASCII codes contain the symbols and characters which are mostly used in different languages. They range from 128 to 255 in decimal or 80 to FF in Hexadecimal. Extended codes, along with the Control codes present in Standard ASCII code, are used for various communication protocols such as RS=-232, RS-485, RS-422, TTL. With the advent of time, many modifications are made in ASCII to include non-English languages.
Why are ASCII and HEX so important to show in Serial Port?
Most of the Serial Communication is based on bytes that are not always printable. The printable characters goes from HEX value 0x20 to HEX value 0x7F. (
To have a better idea of the ASCII printable characters please refer to this table).
Here is when the HEX byte print out if important while using Serial Communication and SerialTool allows you to show ASCII and HEX bytes at the same time.
With the appropriate serial incoming and outgoing timestamp you can quickly spot the received and transmitted bytes via serial port.
This is and extermely useful function when you what to debug your serial port communication.
For example if you are using the Arduino Serial Monitor function in the Arduino IDE you cannot see incoming and outgoing bytes unless you make your own "printf" function.
SerialTool helps you in that task effortlessly.
Hex Terminal Overview
The Hex Terminal in SerialTool provides a powerful and detailed view of all data transmitted and received through the serial port. Unlike the standard text terminal, the Hex Terminal organizes the raw byte stream into a structured and visual format, making it ideal for developers, engineers, and anyone who needs precise insight into binary communication.
Hexadecimal Termnial screenshot
Structured Hex + ASCII Visualization
Each byte is displayed simultaneously in:
- Hexadecimal
- ASCII representation
- Offsets / Addresses
This dual representation allows you to quickly understand both the raw binary form and the human-readable interpretation of the data. Selected byte ranges are highlighted and can be copied or inspected using the context menu.
Byte Visualizer – Explore Bytes in All Formats
When a byte is selected, the right-side panel shows its value in all relevant formats, including:
- Original Byte (0xNN)
- int8_t / uint8_t
- ASCII
- UTF-8
- Binary
- Octal
- Hexadecimal
This makes the Hex Terminal a complete byte-analysis environment: every byte received can be instantly decoded and examined without external tools. The integrated Byte Visualizer can also display the structure of the byte, its bit representation, and visualize the serial bitstream (start, data bits, parity, stop bits).
Advanced Configuration and Customization
The Hex Terminal is highly configurable and can be adapted to different workflows and visual preferences.
- Color themes for bytes, rows, highlights, and protocol markers
- Alternate row colors for improved readability
- Font selection, including monospaced fonts optimized for hex views
- Font size and spacing control (adjustable with CTRL + mouse wheel)
- Hex View Options to toggle display details
- Serial Communication View to visualize bits and frame structure
Context Menu Tools
Right-clicking on a selection in the Hex Terminal opens an extensive context menu with tools such as:
- Find (search within Hex or ASCII)
- Copy Hex / Copy ASCII
- Copy in various visual formats (Hex Visual, Square, Curly, Char, etc.)
- Remove Serial Colors
- Direct access to the ByteVisualizer
Session Integration
On the left side, Serial integrates the Session Packets view, allowing you to inspect individual packets over time. Each packet is timestamped and can be selected for detailed inspection in the hex viewer.
The Hex Terminal in SerialTool is more than just a hex viewer—it is a complete binary analysis tool designed specifically for serial communication. With advanced visualization, deep byte decoding, and rich customization options, it provides everything needed for precise debugging and protocol analysis.