Interface copy lives inside boxes, buttons, labels and alerts. A sentence that reads well in a document can wrap awkwardly in a sidebar, push a button label onto two lines, or hide the real error below the fold. Character counting gives product teams a practical way to test copy before it reaches QA.

Use the privacy-first character counter while you edit. Your text stays in the browser, and the limit bars give a quick check before you paste copy into a publishing tool.

Count where the user sees the copy

Form labels need different discipline from help articles. A label should name the field, not explain the whole policy. "Company registration number" is useful. "Please enter your official company registration number in the field below" is slower and usually redundant.

Placeholder text should be shorter still. It disappears when the user types, so it should show format or example content rather than essential instructions. "AB12 3CD" is a good postcode placeholder. A long explanation belongs near the field or in an expandable note.

Button labels need stable width and clear verbs. "Save", "Send invite", "Download CSV" and "Book appointment" work because they pair an action with an object. "Click here to continue to the next step" spends too many characters and hides the action.

Validation messages need facts

A weak validation message says "Invalid input". A useful one says what failed and how to fix it: "Use at least 8 characters" or "Enter a date after 1 September 2026". The message is slightly longer, but it prevents a second failed attempt.

Character limits are part of that clarity. If a field accepts 120 characters, say so before the user writes 300. A live counter near the field is better than an error after submission. It lets the user edit while the text is still fresh.

When space is tight, keep the rule and remove apology. "Name must be 40 characters or fewer" is clearer than "Sorry, it looks like the name you entered is too long". Courtesy has a place, but error copy should first solve the problem.

Write for responsive layouts

UX copy should be checked at narrow widths. A 38-character tab label may look acceptable on a desktop prototype and fail on a phone. Count the label, then view it in the smallest supported layout. If it wraps, choose a shorter noun or move detail into supporting copy.

Cards and tables create similar pressure. Repeated labels should be short enough to scan. If every card begins "You currently have", the repeated words consume space and make the list harder to compare. "3 drafts", "2 overdue", "No invoices" is faster.

Use character counts in design QA. Add a note for maximum expected text in each component: button label 18 characters, card title 60, empty-state heading 45, helper text 120. These are not universal laws, but they give teams a shared test case.

Keep privacy in the workflow

Product copy often includes real customer language from support tickets or user research. That text can be sensitive even when names are removed. A browser-based counter is the right default for early editing because the pasted text does not leave the device.

For final product strings, store the approved copy in the source of truth: design system, localisation platform, CMS or code repository. The counter is for measurement and editing. It should not become the place where approved strings live.

The best UX writing process is simple: draft in context, count the exact string, test it in the narrowest layout, then approve it with the limit recorded. That process catches avoidable wrapping, vague errors and overlong labels before engineering time is spent.

Design limits before writing final copy

Product teams often discover copy limits too late because the component has already been built. Add expected character ranges to the design specification before final writing begins. A compact button might allow 18 characters. A toast message might allow 90. A card title might allow 55 before wrapping affects the grid.

These numbers are not a substitute for good writing, but they prevent unrealistic requests. If a stakeholder wants a 12-word button label, the character range gives the designer and writer a shared reason to push back. It also helps engineers create stable components because they know what kind of text the UI must handle.

For translated products, add expansion room. English is often shorter than other languages. If the English label uses the full available width, the translated label will probably fail.

Empty states and onboarding copy

Empty states are usually read by people who are trying to start a task. The heading should explain the state, and the body should tell the next step. "No invoices yet" plus "Create your first invoice or import a CSV" is clearer than a cheerful paragraph about getting started.

Onboarding copy benefits from the same restraint. A three-step checklist with short labels is easier to complete than a long welcome panel. Count each label and helper line separately because they appear in different visual containers. One concise paragraph in a document may become three cramped UI elements in the product.

When in doubt, test the copy with real data. Names, plan types and file titles vary. A field that looks fine with "Acme Ltd" may break with a 38-character company name.

What to hand to engineering

Hand over the final string, the intended location, the maximum tested count and the fallback behaviour if text is longer than expected. That is enough for engineers to build sensible wrapping, truncation or validation rules. It also gives QA a measurable test instead of a vague instruction to check the copy.

Related guides