Paste Urdu or Arabic text that appears reversed or scrambled from a PDF or email. This tool detects the direction of each paragraph automatically and applies the correct right-to-left rendering. Also counts words, characters, and lines.
When you copy Urdu or Arabic text from a PDF file or older email client, the application sometimes stores the characters in visual display order rather than logical Unicode order. In Unicode, RTL text is stored in the natural typing order (right to left), and the rendering engine applies the Bidirectional Algorithm to display it correctly. PDF generators that don't follow Unicode properly store characters already rendered left-to-right, so when you extract them as plain text, the entire string appears reversed.
A second common issue is mixed content, where Urdu paragraphs contain embedded English words, phone numbers, or URLs. The Unicode bidirectional algorithm handles these direction switches automatically in a proper renderer, but some environments apply only a simplified version of the algorithm and get the ordering wrong at the boundaries between RTL and LTR segments.
The character count, word count, line count, and percentage of Arabic-script versus Latin characters shown below the input give you an instant profile of your text. If a passage is 90% Arabic-script characters but is displaying left-to-right, that's a strong indicator of a direction rendering issue rather than a character encoding problem. If the percentage is near 50/50, you're likely dealing with genuinely mixed-direction content where more careful per-segment direction handling is needed.
Wondering why your specific text went wrong? See our Unicode explainer for the technical background.
This tool applies a display-side direction fix that handles the most common cases. If your underlying text is byte-reversed (characters stored in the wrong order), the corrected display here will still look right, but the data in your database or file is still incorrect. To fix reversed data at the byte level, you need to reverse the character sequence in code, for example using a string reverse function while correctly handling multi-byte Unicode characters. Our Unicode Inspector can help confirm whether you're dealing with a direction-rendering issue (characters are in logical order but displaying wrong) or a genuine data corruption issue (characters are in the wrong order in storage).