The fastest way to view the clipboard on a phone is to open a browser-based clipboard inspection tool, paste your text into its editor, and read the live statistics for characters, code points, UTF-8 bytes, lines, words, and whitespace. Mobile operating systems generally do not expose a built-in clipboard manager that reveals raw text and hidden characters, so a browser tab is the most reliable target for developers and technical users who need to see what was actually copied. Clipboard Viewer runs entirely in the current browser tab, accepts text either through the browser Clipboard API or through the standard paste gesture, and updates its measurements immediately. Because mobile browsers vary in how they expose clipboard contents, the tool is designed to work two ways: a direct read with an explicit permission prompt, or a manual paste into the editor. Either way, the analysis happens locally on the device, so you can inspect a suspect string before pasting it into a shell command, a database field, a configuration file, or an online form.

Why viewing clipboard text on a phone needs a browser
Phones rarely give you a clipboard viewer that reveals invisible characters. iOS and Android keep the most recent copied item and may retain a short history, but the visible labels hide trailing spaces, tabs, mixed line endings, and odd Unicode characters that change the meaning of copied code. When a shell command fails, a YAML file breaks, or a CSV import produces an extra row, the cause is almost always one of those invisible characters. A browser-based inspector gives you a place to land the text and inspect it without relying on a platform-specific app or a clipboard history feature.
A web tool also avoids the limits of native clipboard utilities. Some Android keyboards ship a clipboard tray with recent items, but those items are not always plain text and the tray rarely shows whitespace. Apple's Live Clipboard and Universal Clipboard focus on carrying text between Apple devices, not on inspecting the contents. A mobile browser tab can read the same text on any phone, and the analysis runs in JavaScript against the exact bytes you copied. The result is a uniform inspection surface that works the same way on iOS Safari, Android Chrome, and other mobile browsers that support the modern clipboard APIs.
Open the tool and load your clipboard text
- Open Clipboard Viewer in your mobile browser on a secure HTTPS page.
- Tap the Read clipboard button and approve the browser permission prompt, or paste the copied text directly into the editor using the standard paste gesture on your keyboard.
- Watch the statistics panel update with character count, code-point count, UTF-8 byte count, line count, word count, whitespace count, and JSON validity for the loaded text.
- Enable the Show spaces, tabs, and line endings option when hidden formatting may be the source of the problem, so spaces render as centered dots, tabs as arrows, and line endings as visible symbols.
- Copy the inspected value back to the system clipboard with the normal copy action when you need to reuse it elsewhere.
- Clear the editor after inspection, especially when the text contains passwords, tokens, personal data, or private customer information.
The same flow is covered in more detail in the guide on how to view the clipboard and inspect hidden text details, which walks through the same inspection steps with examples of common hidden-character problems.
What the measurements actually mean
The tool distinguishes between several counts that look similar but answer different questions. Character count uses JavaScript string length, which counts UTF-16 code units. Code-point count uses the Unicode code-point view, so each user-perceived character counts as one item even when it needs two UTF-16 code units. UTF-8 byte count shows how much space the text needs when encoded for files, APIs, and network protocols. Line count splits on LF, CRLF, or standalone CR separators. Word count uses Unicode letters and numbers with common internal apostrophes, underscores, and hyphens, so it is a practical inspection aid rather than a linguistic authority. JSON validity performs a strict JSON.parse check on the trimmed text, and reports only whether the syntax is valid.
| Metric | What it counts | Useful for |
|---|---|---|
| Characters | JavaScript string length in UTF-16 code units | JS code, JSON keys, quick size checks |
| Code points | Distinct Unicode code points | Emoji, accented letters, supplementary planes |
| UTF-8 bytes | Bytes after browser TextEncoder encoding | HTTP bodies, file storage, network limits |
| Lines | Logical lines split on LF, CRLF, or standalone CR | Shell output, CSV rows, log files |
| Words | Unicode token match with common internal punctuation | Readability check, rough token count |
| Whitespace | Spaces, tabs, and line-ending characters | Detecting hidden indentation |
| JSON validity | Strict JSON.parse on trimmed text | Confirming payloads, env values, config files |
Why characters and code points can disagree
JavaScript string length counts UTF-16 code units, so some emoji and supplementary Unicode characters count as two. The code-point count treats each Unicode code point as one item. UTF-8 byte length shows how much space the text needs when encoded for many files, APIs, and network protocols. These values can differ without any corruption. For example, the character 😀 (U+1F600 GRINNING FACE) is one code point but counts as two characters in JavaScript and four bytes in UTF-8. If your clipboard contains a string of five such emoji, the editor will show 5 code points, 10 characters, and 20 UTF-8 bytes; all three numbers are correct and they answer different questions. The same kind of gap shows up for accented letters and CJK characters, where the UTF-8 byte count is larger than the character count.
| Input | Code points | Characters (UTF-16) | UTF-8 bytes |
|---|---|---|---|
| A | 1 | 1 | 1 |
| é | 1 | 1 | 2 |
| 😀 | 1 | 2 | 4 |
| 你好 | 2 | 2 | 6 |
When invisible characters cause real problems
Hidden formatting is the most common reason copied text behaves differently from the source. Trailing spaces survive copy and paste into command lines, YAML files, and CSV imports, and they break exact-equality checks and password comparisons. Tabs copied from a spreadsheet often look like spaces and break indentation in shell scripts and Makefiles. Mixed line endings break source files when one platform writes CRLF and another expects LF. A lone carriage return at the end of a copied token can break parsing in CSV readers and HTTP header fields. None of these characters show up in the visible label on a phone, so the only safe way to detect them is to inspect the exact bytes.
Enabling the invisible-character view makes spaces appear as centered dots, tabs as arrows, and line endings as visible symbols while the underlying editor value remains unchanged. This is helpful when comparing copied shell commands, YAML indentation, CSV rows, environment variables, or text moved between Windows, macOS, and Linux. The display is a reversible mapping, so editing the text behaves the same way as in any plain editor; the dots and arrows are overlays, not data. A quick scan of the rendered editor usually reveals the trailing whitespace, the stray tab, or the double line ending that the source tool was hiding.
Browser requirements and privacy on mobile
Direct clipboard reading is a protected browser capability. It generally requires HTTPS, a focused page, a user gesture, and browser permission. Browsers may still deny the request because of user settings, enterprise policy, embedded-page restrictions, or unsupported APIs. A denial is not treated as lost data: the tool shows a clear message and the normal paste route remains available. The permission model is documented in the W3C Clipboard API and the MDN Clipboard.readText reference, which explain why a focused page and a user gesture are part of the request contract.
The tool reads text only; it does not attempt to expose clipboard images, rich HTML, files, or platform-specific formats. Empty or non-text clipboards can produce an empty string. The JSON indicator performs a strict JSON.parse check on trimmed text. It does not repair JSON, run code, follow links, or interpret pasted HTML. A valid result means only that the text is syntactically valid JSON, not that its fields are safe or correct.
Privacy is the main design constraint. Analysis happens locally in the current tab, no clipboard text is submitted to a server, and clearing the editor removes the working value from the component state. Even so, think before granting clipboard access: a clipboard can contain passwords, tokens, personal data, or private customer information. Prefer manual paste when you want to control exactly what enters the page, and clear the result after checking sensitive content. The input budget prevents an accidental enormous paste from freezing the interface. Clipboard Viewer is an inspection tool, not a secure secret scanner, malware detector, or compliance system.