4 tools

Text tools

Clean, count, transform, and preview written content. Choose a task and open the matching tool.

Text tools

Word and Character Counter measure length without changing the text. Case Converter and Remove Duplicate Lines transform content, while Markdown Preview shows formatted output.

Text tools run in the browser and show results beside the source when practical. Review capitalization, whitespace, links, and line order before replacing the original.

Text tasks in this category divide into measurement, cleanup, representation, and preview. Word Counter and Character Counter calculate live statistics without producing a rewritten result. Case Converter and Remove Duplicate Lines deliberately transform the source into a new string. Markdown Preview interprets formatting syntax and displays sanitized HTML. HTML Escape and the URL encode and decode tools change how reserved characters are represented for a specific destination. Choose from the operation, not from a vague wish to make text cleaner.

Keep a source copy whenever the operation discards information. Camel and kebab case remove punctuation boundaries. Deduplication removes repeated occurrence data. HTML escaping adds entity syntax, while URL decoding can reveal reserved delimiters that were previously data. Markdown rendering hides source markers in the visual result. A change can be mechanically correct yet wrong for the next system. Write down the expected input, output, and destination before pasting a large or important value.

Word Counter and Character Counter currently display the same six live values: words, characters, characters without whitespace, sentences, paragraphs, and estimated reading minutes. Words are whitespace-separated tokens. Characters use JavaScript string length, which counts UTF-16 units rather than visible grapheme clusters. Sentences are estimated from periods, exclamation marks, and question marks. Paragraphs require blank-line separators. Reading time divides the word total by 225 and rounds upward.

These deterministic rules make drafts comparable within PWRKIT, but another editor or submission portal may count differently. Hyphenated compounds, emoji, languages without spaces, footnotes, comments, and rich-document fields are common sources of disagreement. Determine which counter has authority before editing to a strict boundary. Use the local values for planning and diagnosis, then test the final exact text in the receiving system. A lower number does not show that the writing became clearer or that required material remained.

Scope matters as much as tokenization. Decide whether headings, captions, references, quotations, and appendices belong in the total. Paste only the intended region and preserve its line breaks. For field-length limits, ask whether spaces, newlines, and multi-unit symbols are included. Record the measured version and rule so another reviewer can reproduce the result. The counters do not save drafts, compare versions, or identify which edit changed a statistic.

Case Converter offers title, sentence, upper, lower, camel, and kebab modes. Title and sentence modes lowercase the source before capitalizing selected letters, so acronyms, brands, people, and places can lose required capitals. Upper and lower modes retain punctuation and line structure while changing letters. Camel and kebab modes tokenize on characters that are not Unicode letters or numbers, remove those separators, and rebuild one identifier. They are not editorial style engines or target-language validators.

Choose prose modes for capitalization cleanup and identifier modes for names such as variables or slugs. Then review against the destination's rules. A title may need AP or Chicago treatment. A programming language may reject a leading number or reserved word. A route may need uniqueness and ASCII restrictions. The converter cannot make those decisions. Preserve a test set containing names, acronyms, digits, punctuation, and multilingual text when a team applies one naming convention repeatedly.

Remove Duplicate Lines keeps the first exact occurrence of each complete line and preserves first-seen order. Comparison is case-sensitive and includes whitespace, punctuation, and Unicode representation. Empty lines are values, so one empty line remains. The tool recognizes LF and CRLF separators and joins output with LF. It does not trim, lowercase, sort, report frequencies, keep the last copy, or select a key column from structured records.

This is appropriate for one-item-per-line text when exact strings define duplicates. It is not enough for contacts, CSV rows, URLs with equivalent forms, or inventory records whose identity depends on selected fields. Repetition can also be meaningful in logs, votes, transactions, poems, and configuration. Compare input and output counts, inspect removed values in a diff when risk is high, and retain the source. Normalize only under an explicit policy, because case or whitespace changes can merge entries that were intentionally distinct.

Markdown Preview sends the current source through marked and sanitizes the resulting HTML with DOMPurify before displaying it. It updates as you type and does not provide a separate generated-HTML result panel. The preview can expose broken headings, lists, links, emphasis, and code fences quickly. It cannot reproduce every repository host, content system, extension, shortcode, theme, or sanitizer policy. The same source may render differently in its final platform.

Use a small syntax sample before reviewing a long document. Check blank lines, indentation, nested lists, code fences, literal punctuation, link labels, and destinations. Raw HTML may be removed or changed by sanitization. That local protection does not prove the source is safe in a renderer with another policy. Save the Markdown source outside the page, then run the destination's own build and accessibility review. Copying a rendered preview can replace portable syntax with formatted content, so move the source when publishing Markdown.

HTML Escape converts ampersand, less-than, greater-than, double quote, and single quote to entity references. It is useful when markup must appear as text in an HTML-aware destination. It processes ampersand first and escapes every matching occurrence, including an ampersand already starting an entity. Running the output again creates another layer. The tool does not parse a document, retain allowed tags, or recognize whether input has already been escaped.

Output encoding must match context. Element text, quoted attributes, URLs, CSS, JavaScript, HTTP headers, SQL, and shell commands follow different rules. Application frameworks should perform context-aware escaping at the output boundary. Sanitization is a separate process for retaining permitted markup while removing disallowed structures. Use this tool for an explicit literal-display task and test the actual renderer. If a finished page displays entity names, trace storage and rendering layers for double encoding rather than decoding values blindly.

URL Encode applies encodeURIComponent to the entered string. It is intended for one value such as a query parameter or path segment, not an assembled URL whose structural delimiters must remain active. Spaces become %20 and reserved characters such as ampersand and slash become percent sequences. Form serialization can use different space behavior, including plus signs. The tool does not build parameters, parse a URL, validate a destination, or apply a protocol-specific signature scheme.

URL Decode applies decodeURIComponent once. Valid UTF-8 percent bytes become readable characters, plus remains plus, and malformed sequences produce an error instead of a partial result. A double-encoded value retains one percent layer after the first pass. Decode only with a record of the original component boundary. Repeated decoding can turn encoded data into active URL syntax. The readable result still needs validation before placement in HTML, code, a path, or another command context.

Use a URL parser or URLSearchParams in application code when structure matters. For manual review, keep raw and decoded values side by side and note the capture point, since browser address bars, logs, proxies, and frameworks may show different decoding stages. A correct transformation does not prove that a redirect is approved, a hostname is safe, or a parameter is authorized. Encoding protects representation during transport; validation decides whether the underlying value is acceptable.

These text operations run in the browser and do not send entered content to a PWRKIT processing server for conversion, counting, deduplication, or preview rendering. Workbench state is temporary. Reset clears displayed values, and reloading normally loses an unsaved draft. Copy actions place results on the system clipboard. Markdown rendering can cause the browser to handle referenced resources according to parser and sanitizer output, so previewing linked content is not equivalent to a fully offline editor.

Local processing reduces one network transfer but does not create encrypted storage or an approved workspace automatically. Extensions, clipboard history, accessibility software, screen capture, and managed-device controls can access information according to their permissions. Avoid pasting credentials, private tokens, regulated records, or unreleased material unless policy permits it. Keep valuable source text in its normal editor because the tools do not provide accounts, autosave, revision history, conflict resolution, or recovery after navigation.

For multi-step work, apply the narrowest representation change at the final boundary where it is required. Clean list duplicates before formatting a report, but only after deciding whether case and whitespace matter. Choose identifier case before URL-encoding that identifier, since case conversion cannot read word boundaries easily from percent sequences. Escape HTML when inserting literal text into HTML, not before Markdown authoring unless the Markdown destination expects entity source. Each intermediate form should have a named purpose.

Do not cycle repeatedly between encode and decode or escape and unescape to make text look familiar. Each pass can hide whether characters are data or syntax. Save the original and label intermediates with the operation performed. Review names, numbers, punctuation, whitespace, line order, and Unicode after every destructive step. If the task needs grammar correction, language-aware tokenization, structured CSV matching, secure redaction, or source-code validation, choose a specialized workflow instead of stacking these small tools.

A useful final check compares the result with both the source and receiving system. For counts, reproduce the authoritative limit. For case, restore intentional names and validate identifiers. For duplicate lines, verify first-seen order and retained near matches. For Markdown, run the target renderer and inspect structure, links, code, and accessibility. For HTML entities, inspect delivered source and DOM text. For URL components, parse the assembled URL and confirm the decoded value received by the application.

Keep evidence appropriate to risk: an approved text version, sample inputs and expected outputs, a diff, destination screenshot, automated test, or release record. Do not treat a copy button or visible preview as approval. Related tools solve distinct stages, and their outputs should not be substituted merely because each is text. The goal is not to perform the most transformations. It is to make the one necessary change, preserve meaning, and prove that the destination interprets the result as intended.