Debug & Review · LOCAL TOOL

Text Byte Budget Desk

Measure pasted text as UTF-8 and compare it with a byte budget. Show how LF and CRLF normalization change the size while keeping character and UTF-16 counts separate.

Runs in this page
No API call
WORKSPACEINPUT → RESULT
01

Your input

LOCAL
Text Byte Budget Desk inputs
02

Result

Run the tool to see a result.

Your result will appear here. Input is not saved.

Browser-side processingNothing is sent to a tool API.

WHY THIS TOOL EXISTS

A focused job, not a black box.

A character limit and byte limit are different for emoji and non-ASCII text. Showing original and newline-normalized sizes helps explain why a payload exceeds a concrete storage or transport budget.

How to use it

  1. Paste the actual text payload and its byte budget.
  2. Compare original UTF-8 size with LF and CRLF variants.
  3. Review remaining bytes before applying any changes in your own editor.

TRY A WORKING EXAMPLE

Start with known input.

Load this sample into the workspace, run the tool, and compare the result shown below.

Show sample input
{
  "source": "hello\n世界 🌍",
  "budget": "24"
}

Expected sample result from the local tool

17 UTF-8 bytes · within budget.

{
  "codePoints": 10,
  "utf16Units": 11,
  "utf8Bytes": {
    "original": 17,
    "LF": 17,
    "CRLF": 18
  },
  "budgetBytes": 24,
  "remainingBytes": 7,
  "overByBytes": 0,
  "lineBreaks": 1
}

UTF-8 payload size without a BOM, compression, transport headers, or JSON escaping. Code points are not grapheme clusters.

LIMITS AND INTERPRETATION

What the result cannot tell you.

Up to 200000 UTF-16 units. UTF-8 encoding without BOM, compression, HTTP headers, or JSON escaping. Lone surrogates follow TextEncoder replacement behavior; code points are not visible characters.

Inputs are processed in this page and are not written to local storage.