Online SMS PDU Decoder

Online SMS PDU Decoder

Free online tool to decode SMS-DELIVER, SMS-SUBMIT and SMS-STATUS-REPORT PDU hex strings from GSM modems and SMSC logs - GSM 03.40 / 3GPP TS 23.040 compliant

Decode SMS Protocol Data Units - DELIVER, SUBMIT and STATUS-REPORT

How to Use This Decoder

This tool decodes raw SMS PDU hex strings into human-readable fields as defined by GSM 03.40 / 3GPP TS 23.040.

  1. Paste your PDU: Enter the full hex-encoded SMS PDU string (with or without SMSC prefix)
  2. Or try an example: Click one of the example buttons to load a sample PDU
  3. Decode: Click "Decode PDU" to parse all fields
  4. Results: View the decoded fields including sender/recipient, timestamp, and message content
Hex characters only (0-9, A-F). Spaces and line breaks are stripped automatically.
Examples:
Decoding PDU...

Decode Error

Professional SMS & SMSC Integration Services

The yREMORA technical team provides comprehensive SMSC (Short Message Service Center) integration solutions, including interconnection with telecom operators, custom SMS gateway deployments, and end-to-end SMS delivery monitoring and troubleshooting.

Our expertise covers SMPP protocol integration, SMS routing optimization, PDU-level diagnostics, and custom tooling for telecom operations teams. We work with both open-source and proprietary SMSC platforms to deliver reliable messaging infrastructure.

About this online SMS PDU decoder

Every SMS message travels through the mobile network as a PDU (Protocol Data Unit) — a compact binary envelope that carries not just the message text, but also the sender and recipient addresses, timestamps, encoding information, and delivery instructions. The PDU format is defined by the GSM standards (GSM 03.40 / 3GPP TS 23.040).

Whether you are reading PDUs from a GSM modem (via AT commands), reviewing SMSC logs, or analyzing network traces, you will see a long hex string. This online decoder breaks that hex string into its individual fields so you can inspect exactly what the message contains — no software to install, just paste and decode.

PDU Types

The first byte of any PDU contains the TP-MTI (Message Type Indicator) which tells you the direction and purpose of the message:

  • SMS-DELIVER (TP-MTI=0) — An incoming message delivered from the network to your GSM phone or modem. Contains the sender address (TP-OA), the service center timestamp (TP-SCTS), and the message text.
  • SMS-SUBMIT (TP-MTI=1) — An outgoing message sent from your GSM phone or modem to the mobile network. Contains the destination address (TP-DA), an optional validity period (TP-VP), and the message text.
  • SMS-STATUS-REPORT (TP-MTI=2) — A delivery receipt from the network confirming whether a previously sent SMS-SUBMIT was delivered to the recipient. Contains the recipient address (TP-RA), the service center timestamp (TP-SCTS), the discharge time (TP-DT), and a status code (TP-ST) indicating success or failure.

What this decoder supports

  • Automatic SMSC (Service Center Address) detection and stripping — works with PDUs captured directly from modems (with SMSC prefix) and from SMSC databases or logs (without SMSC prefix)
  • GSM 7-bit default alphabet (GSM 03.38) with extension table characters
  • 8-bit binary data and UCS-2 (UTF-16) Unicode text
  • Alphanumeric sender addresses (e.g. operator names like "yREMORA" encoded as TOA 0xD0)
  • Concatenated SMS — User Data Header (UDH) parsing for multi-part messages
  • Validity Period interpretation (relative format)
  • TP-Status codes for delivery reports (success, temporary failure, permanent failure)

Found a PDU We Can't Decode?

If you encounter a PDU that this decoder fails to parse or produces unexpected results, we want to know about it. Send us the hex string via our contact page and our telecom team will investigate. Your feedback helps us improve this tool for the entire community.