Text and Tamil tools

Text-to-HTML converter

Convert plain text to escaped HTML with a safe formatting preview, paragraphs or preformatted code, editable page title and complete local downloads.

Paste or import text, up to 100,000 UTF-16 units. Tags you paste remain literal text.

Blank lines separate paragraphs. Single line breaks stay inside each paragraph; ordinary HTML collapses repeated spaces.

Includes UTF-8 metadata and a page title. Uncheck to copy a fragment into an existing page.

Shown in a browser tab; not added as a heading. Up to 200 UTF-16 units.

Paste text to begin. Live preview is on.

Import a local TXT file

Choose or drop one UTF-8 TXT file up to 400 KB. Undo restores the previous text.

Convert plain text to HTML

  1. Paste plain text and select its formatting.
  2. Keep the UTF-8 document wrapper for a standalone file, or choose a fragment for an existing document.
  3. Convert, review source and download or copy it.

All user text is escaped: ampersands, angle brackets and quotes become character references. Existing entity-looking text is escaped again because it is literal input. A pasted script or image tag becomes displayed text rather than active markup. The tool generates only fixed formatting/document tags; it does not infer links, images, styles, headings, Markdown or scripts. Generated source is never injected as live HTML. The formatting preview is rebuilt from plain-text nodes and fixed p, br, pre and code elements. It cannot activate pasted tags.

Formatting choices

Paragraph mode uses Unicode whitespace-only blank lines and U+2029 as block boundaries, omits boundary blank records and wraps each nonblank block in a p element. Internal record breaks become br elements. Outer spacing on retained nonblank lines stays in source, but HTML rendering normally collapses it. Line-break mode keeps blank records and converts all recognized record boundaries to br elements, including a final delimiter.

Preformatted mode wraps escaped text in pre and code elements, preserving spaces/tabs and placing an initial newline inside code so it is not directly stripped by pre parsing. Carriage returns become explicit numeric references to avoid source newline normalization. The text's Unicode normalization, case and combining sequences remain unchanged. HTML preformatted-text reference.

Escaped-text-only mode adds no formatting tags. It retains line-break characters in source, with CR escaped, but normal HTML layout can collapse whitespace. These outputs are intended for HTML text content, not arbitrary JavaScript, CSS, URL or unquoted-attribute contexts. This is plain-text encoding, not a sanitizer for trusted markup or a general-purpose context-sensitive security library.

Preview and recover

Live preview waits 450 ms and pauses for input-method composition. The visual sample uses the first 2,000 code points or 100 line-boundary characters, whichever is reached first. Its boundary may split a combined character or paragraph; source and downloads always contain the complete conversion. Preview styling comes from this site and is not a screenshot of the downloaded page. Custom website styles can change the final appearance.

Local TXT import validates UTF-8, removes an initial BOM and normalizes CRLF/CR to LF. Invalid files retain your draft and result. Import, large paste, example and Clear offer one undo step. Typing or changing options discards it. Clear keeps formatting settings; HTML reuse is hidden to avoid accidentally escaping the generated source twice.

Limits and privacy

The complete wrapper declares UTF-8 and an escaped document title (up to 200 UTF-16 units); fragments need an existing document with the correct charset/context. Downloaded files contain source rather than a layout screenshot. Empty paragraph/line-break/escaped input gives an empty fragment; pre mode gives an empty pre/code block, and the document wrapper remains when selected. U+0000 is rejected because ordinary HTML cannot preserve it faithfully. Browser textarea CR/CRLF normalization applies to pasted input; original TXT preserves its current value.

Record modes recognize CRLF, LF, CR, NEXT LINE U+0085, LINE SEPARATOR U+2028 and PARAGRAPH SEPARATOR U+2029; record delimiters are transformed according to the selected mode, without a phantom final empty record. Local worker, ten-second timeout, Cancel termination and stale-result guards. No upload, storage, external API, parser package or executable input. Unpaired surrogates reject for valid UTF-8 exports. Clipboard copying is optional; download or select source if blocked.