Skip to content

Text

Transform, compare and clean up text. 27 tools. Run any of them from the app, as dogubako text <tool>, over the HTTP API or as an MCP tool.

Tool Id Needs
Change Case text.case —
Word & Character Count text.count —
Sort Lines text.sort_lines —
Remove Duplicate Lines text.dedupe_lines —
Trim & Remove Whitespace text.trim —
Line Endings text.line_endings —
Find & Replace text.replace —
Regex Replace text.regex_replace —
Compare Text (Diff) text.diff —
Escape / Unescape text.escape —
Convert Text Encoding text.encoding —
Markdown Preview text.markdown_preview —
Markdown to HTML text.markdown_to_html —
HTML to Plain Text text.html_to_text —
HTML to Markdown text.html_to_markdown —
Clean Up Text text.cleanup —
Slugify text.slugify —
Reverse Text text.reverse —
Lorem Ipsum Generator text.lorem —
Wrap Text text.wrap —
Extract Columns text.column_extract —
Number Lines text.number_lines —
Add Prefix / Suffix text.prefix_suffix —
Filter Lines text.filter_lines —
Unicode Inspector text.unicode_inspect —
Word Frequency text.word_frequency —
Extract Text from Document text.extract —
nativelive

Convert text to UPPER, lower, Title, Sentence, camelCase, snake_case, kebab-case and more.

Terminal window
dogubako text case <text> [options]

Id text.case · MCP text_case · Output: text (text/plain) · Timeout 2 min

Also found by: uppercase, lowercase, title case, camel, snake, kebab, pascal, constant, capitalize

Option CLI Type Default Description
text (required) positional text (multi-line)
case --case choice upper One of: upper (UPPER CASE), lower (lower case), title (Title Case), sentence (Sentence case), camel (camelCase), pascal (PascalCase), snake (snake_case), kebab (kebab-case), constant (CONSTANT_CASE), train (Train-Case), cobol (COBOL-CASE), dot (dot.case), path (path/case), words (space separated words), invert (iNVERT cASE), alternating.
nativelive

Count characters, words, lines, sentences, paragraphs and bytes; estimate reading and speaking time; list the most frequent words.

Terminal window
dogubako text count <text> [options]

Id text.count · MCP text_count · Output: structured data · Timeout 2 min

Also found by: word count, character count, letters, reading time, statistics, length

Option CLI Type Default Description
text (required) positional text (multi-line)
reading_wpm --reading-wpm integer 50–1000 238 Reading speed (words/min). Advanced.
speaking_wpm --speaking-wpm integer 50–500 150 Speaking speed (words/min). Advanced.
top --top integer 0–100 10 Top words. Advanced.
ignore_stopwords --ignore-stopwords boolean true Ignore common English words in top words. Advanced.
nativelive

Sort lines alphabetically, naturally, numerically, by length or shuffle them; optionally reverse and remove duplicates.

Terminal window
dogubako text sort-lines <text> [options]

Id text.sort_lines · MCP text_sort_lines · Output: text (text/plain) · Timeout 2 min

Also found by: sort, order, alphabetize, shuffle, randomize, natural sort, lines

Option CLI Type Default Description
text (required) positional text (multi-line)
mode --mode choice natural One of: alpha (Alphabetical), natural (Natural (file2 < file10)), numeric, length (By length), random (Shuffle (random)).
reverse --reverse boolean false Reverse order.
case_insensitive --case-insensitive boolean true Ignore case.
unique --unique boolean false Remove duplicates.
remove_empty --remove-empty boolean false Remove empty lines.
nativelive

Remove duplicate lines while keeping the original order, keeping the first or last occurrence.

Terminal window
dogubako text dedupe-lines <text> [options]

Id text.dedupe_lines · MCP text_dedupe_lines · Output: text (text/plain) · Timeout 2 min

Also found by: duplicates, unique, dedupe, distinct, uniq

Option CLI Type Default Description
text (required) positional text (multi-line)
keep --keep choice first One of: first (Keep first occurrence), last (Keep last occurrence).
ignore_case --ignore-case boolean false
ignore_whitespace --ignore-whitespace boolean false Ignore leading/trailing and repeated whitespace.
keep_empty --keep-empty boolean true Keep all empty lines. Advanced.
nativelive

Trim leading/trailing spaces on every line, collapse repeated spaces and remove empty lines.

Terminal window
dogubako text trim <text> [options]

Id text.trim · MCP text_trim · Output: text (text/plain) · Timeout 2 min

Also found by: trim, whitespace, spaces, strip, empty lines, blank lines, tabs

Option CLI Type Default Description
text (required) positional text (multi-line)
lines --lines choice both Trim each line. One of: both (Trim both ends), leading (Trim leading), trailing (Trim trailing), none (Don’t trim lines).
collapse_spaces --collapse-spaces boolean true Collapse repeated spaces/tabs into one space.
empty_lines --empty-lines choice collapse One of: keep, collapse (Collapse runs into one), remove (Remove all).
tabs_to_spaces --tabs-to-spaces boolean false Convert tabs to spaces. Advanced.
nativelive

Detect and convert line endings between LF (Unix), CRLF (Windows) and CR (classic Mac).

Terminal window
dogubako text line-endings [text] [options]

Id text.line_endings · MCP text_line_endings · Output: text (text/plain) · Timeout 2 min

Also found by: crlf, lf, newline, eol, dos2unix, unix2dos, carriage return

Option CLI Type Default Description
text positional text (multi-line)
file --file file When a file is given, a converted file is produced.
to --to choice lf One of: detect (Only detect), lf (LF (Unix, macOS)), crlf (CRLF (Windows)), cr (CR (classic Mac)).
nativelive

Find and replace plain text, optionally case-insensitive or whole words only.

Terminal window
dogubako text replace <text> --find <find> [options]

Id text.replace · MCP text_replace · Output: text (text/plain) · Timeout 2 min

Also found by: find, replace, substitute, search

Option CLI Type Default Description
text (required) positional text (multi-line)
find (required) --find text
replace --replace text Replace with.
case_sensitive --case-sensitive boolean true
whole_word --whole-word boolean false Whole words only.
nativelive

Search and replace with a regular expression; use $1 or ${name} in the replacement to insert capture groups.

Terminal window
dogubako text regex-replace <text> --pattern <pattern> [options]

Id text.regex_replace · MCP text_regex_replace · Output: text (text/plain) · Timeout 2 min

Also found by: regex, regular expression, replace, substitute, sed, capture groups

Option CLI Type Default Description
text (required) positional text (multi-line)
pattern (required) --pattern text
replacement --replacement text
flags --flags list of choices Any of: i (i – ignore case), m (m – ^/$ match at line breaks), s (s – . matches newline), x (x – verbose (ignore whitespace, # comments)).
limit --limit integer ≥ 0 0 Max replacements (0 = all). Advanced.
literal --literal boolean false Treat replacement literally (no $ expansion). Advanced.
nativeside-by-side diff

Compare two texts and highlight insertions and deletions by line, word or character; also produces a unified diff.

Terminal window
dogubako text diff <original> --changed <changed> [options]

Id text.diff · MCP text_diff · Output: text (text/x-diff) · Timeout 2 min

Also found by: diff, compare, difference, changes, patch, unified diff

Option CLI Type Default Description
original (required) positional text (multi-line)
changed (required) --changed text (multi-line)
granularity --granularity choice word One of: line (Lines), word (Words), char (Characters).
whitespace --whitespace choice exact One of: exact (Compare exactly), changes (Ignore whitespace changes), all (Ignore all whitespace). Advanced.
context --context integer 0–1000 3 Unified diff context lines. Advanced.
nativelive

Escape or unescape text for JSON, JavaScript, HTML, XML, URLs, CSV, shell, regex, C, Java, Python and SQL string literals.

Terminal window
dogubako text escape <text> [options]

Id text.escape · MCP text_escape · Output: text (text/plain) · Timeout 2 min

Also found by: escape, unescape, quote, string literal, backslash, html entities, sql injection, shell quote

Option CLI Type Default Description
text (required) positional text (multi-line)
format --format choice json One of: json (JSON string), javascript (JavaScript string), html, xml, url (URL (percent-encoding)), csv (CSV field), shell (Shell (POSIX single quotes)), regex (Regular expression), c (C/C++ string), java (Java string), python (Python string), sql (SQL string literal).
mode --mode choice escape One of: escape, unescape.
native

Detect and convert the character encoding of a file or text (UTF-8, UTF-16, Windows-1252, Latin-1, Shift_JIS, GBK, Big5 …).

Terminal window
dogubako text encoding [file] [options]

Id text.encoding · MCP text_encoding · Output: files · Timeout 2 min

Also found by: charset, encoding, utf-8, utf8, latin1, ansi, mojibake, iconv, bom

Option CLI Type Default Description
file positional file
text --text text (multi-line) Pasted text is already Unicode; it is encoded into the target encoding.
from --from choice auto Encoding of the uploaded file (pasted text is already Unicode). One of: auto (Auto-detect), utf-8, utf-16le (UTF-16 LE (with BOM)), utf-16be (UTF-16 BE (with BOM)), windows-1252 (Windows-1252 (Western)), iso-8859-1 (ISO-8859-1 / Latin-1 (treated as Windows-1252, per WHATWG)), iso-8859-2 (ISO-8859-2 (Central European)), iso-8859-5 (ISO-8859-5 (Cyrillic)), iso-8859-7 (ISO-8859-7 (Greek)), iso-8859-15 (ISO-8859-15 (Latin-9)), windows-1250 (Windows-1250 (Central European)), windows-1251 (Windows-1251 (Cyrillic)), windows-1253 (Windows-1253 (Greek)), windows-1254 (Windows-1254 (Turkish)), windows-1255 (Windows-1255 (Hebrew)), windows-1256 (Windows-1256 (Arabic)), windows-1257 (Windows-1257 (Baltic)), windows-1258 (Windows-1258 (Vietnamese)), koi8-r, koi8-u, ibm866 (IBM866 (DOS Cyrillic)), macintosh (Mac Roman), shift_jis, euc-jp, iso-2022-jp, gbk, gb18030, big5, euc-kr.
to --to choice utf-8 Target encoding. One of: utf-8, utf-8-bom (UTF-8 with BOM), utf-16le (UTF-16 LE (with BOM)), utf-16be (UTF-16 BE (with BOM)), windows-1252 (Windows-1252 (Western)), iso-8859-1 (ISO-8859-1 / Latin-1 (treated as Windows-1252, per WHATWG)), iso-8859-2 (ISO-8859-2 (Central European)), iso-8859-5 (ISO-8859-5 (Cyrillic)), iso-8859-7 (ISO-8859-7 (Greek)), iso-8859-15 (ISO-8859-15 (Latin-9)), windows-1250 (Windows-1250 (Central European)), windows-1251 (Windows-1251 (Cyrillic)), windows-1253 (Windows-1253 (Greek)), windows-1254 (Windows-1254 (Turkish)), windows-1255 (Windows-1255 (Hebrew)), windows-1256 (Windows-1256 (Arabic)), windows-1257 (Windows-1257 (Baltic)), windows-1258 (Windows-1258 (Vietnamese)), koi8-r, koi8-u, ibm866 (IBM866 (DOS Cyrillic)), macintosh (Mac Roman), shift_jis, euc-jp, iso-2022-jp, gbk, gb18030, big5, euc-kr.
unmappable --unmappable choice question Characters missing in target. One of: question (Replace with ?), html (HTML numeric entity (é)), error (Fail). Advanced.
nativelive

Render Markdown (GitHub-flavored: tables, task lists, strikethrough, footnotes) as safe, sanitized HTML.

Terminal window
dogubako text markdown-preview <text>

Id text.markdown_preview · MCP text_markdown_preview · Output: text (text/html) · Timeout 2 min

Also found by: markdown, md, preview, render, gfm, readme

Option CLI Type Default Description
text (required) positional text (multi-line) Markdown.
native

Convert Markdown (GitHub-flavored) to HTML, optionally as a complete standalone HTML document.

Terminal window
dogubako text markdown-to-html [text] [options]

Id text.markdown_to_html · MCP text_markdown_to_html · Output: text (text/html) · Timeout 2 min

Also found by: markdown, html, convert, md to html, gfm

Option CLI Type Default Description
text positional text (multi-line) Markdown.
file --file file Or upload a .md file. Accepts text/*, .md .markdown .txt.
sanitize --sanitize boolean true Sanitize HTML (strip scripts and unsafe markup).
full_document --full-document boolean false Wrap in a complete HTML document.
title --title text Document Document title. Only used when full_document is true.
nativelive

Convert HTML into readable plain text, keeping lists, tables and link targets.

Terminal window
dogubako text html-to-text [text] [options]

Id text.html_to_text · MCP text_html_to_text · Output: text (text/plain) · Timeout 2 min

Also found by: html, strip tags, plain text, remove html

Option CLI Type Default Description
text positional text (multi-line) HTML.
file --file file Or upload an HTML file. Accepts .html .htm .xhtml.
width --width integer 10–10000 80 Line width.
decorate --decorate boolean true Mark links, emphasis and headings. Advanced.
nativelive

Convert HTML into clean Markdown.

Terminal window
dogubako text html-to-markdown [text] [options]

Id text.html_to_markdown · MCP text_html_to_markdown · Output: text (text/markdown) · Timeout 2 min

Also found by: html, markdown, convert, html to md

Option CLI Type Default Description
text positional text (multi-line) HTML.
file --file file Or upload an HTML file. Accepts .html .htm .xhtml.
nativelive

Straighten smart quotes, remove invisible characters, normalize Unicode, strip accents, fix mojibake and tidy whitespace.

Terminal window
dogubako text cleanup <text> [options]

Id text.cleanup · MCP text_cleanup · Output: text (text/plain) · Timeout 2 min

Also found by: smart quotes, zero width, invisible, unicode normalize, nfc, nfkc, diacritics, accents, mojibake, sanitize, nbsp

Option CLI Type Default Description
text (required) positional text (multi-line)
operations --operations list of choices quotes,invisible,nbsp,control Any of: quotes (Smart quotes → straight quotes), dashes (Em/en dashes → hyphen), ellipsis (… → …), invisible (Remove zero-width & invisible characters), nbsp (Non-breaking/odd spaces → normal space), control (Remove control characters), diacritics (Strip accents/diacritics (é → e)), whitespace (Collapse repeated spaces & trim lines), mojibake (Fix mojibake (é → é)).
normalize --normalize choice nfc One of: none, nfc, nfd, nfkc (NFKC (compatibility)), nfkd.
nativelive

Turn text into URL-friendly slugs (each line separately): Crème Brûlée! → creme-brulee.

Terminal window
dogubako text slugify <text> [options]

Id text.slugify · MCP text_slugify · Output: text (text/plain) · Timeout 2 min

Also found by: slug, url, permalink, seo, filename, clean url

Option CLI Type Default Description
text (required) positional text (multi-line)
separator --separator text -
lowercase --lowercase boolean true
max_length --max-length integer ≥ 0 0 Max length (0 = unlimited). Advanced.
nativelive

Reverse the characters, the word order or the line order of text.

Terminal window
dogubako text reverse <text> [options]

Id text.reverse · MCP text_reverse · Output: text (text/plain) · Timeout 2 min

Also found by: reverse, backwards, mirror, flip

Option CLI Type Default Description
text (required) positional text (multi-line)
mode --mode choice chars One of: chars (Characters), words (Word order (per line)), lines (Line order), each_word (Letters of each word).
native

Generate lorem ipsum placeholder text as words, sentences or paragraphs.

Terminal window
dogubako text lorem [options]

Id text.lorem · MCP text_lorem · Output: text (text/plain) · Timeout 2 min

Also found by: lorem ipsum, placeholder, dummy text, filler, generator

Option CLI Type Default Description
unit --unit choice paragraphs One of: paragraphs, sentences, words.
count --count integer 1–1000 3 How many.
start_with_lorem --start-with-lorem boolean true Start with “Lorem ipsum dolor sit amet”.
html --html boolean false Wrap paragraphs in <p> tags. Advanced.
nativelive

Hard-wrap text at a given line width, or unwrap paragraphs into single lines.

Terminal window
dogubako text wrap <text> [options]

Id text.wrap · MCP text_wrap · Output: text (text/plain) · Timeout 2 min

Also found by: wrap, word wrap, line width, columns, reflow, unwrap, fold

Option CLI Type Default Description
text (required) positional text (multi-line)
mode --mode choice wrap One of: wrap, unwrap (Unwrap paragraphs).
width --width integer 1–100000 80 Width (characters). Only used when mode is wrap.
break_words --break-words boolean true Break words longer than the width. Only used when mode is wrap.
indent --indent text Indent wrapped lines with. Advanced.
nativelive

Split each line by a delimiter and keep selected columns (like cut / awk ‘{print $2}’).

Terminal window
dogubako text column-extract <text> [options]

Id text.column_extract · MCP text_column_extract · Output: text (text/plain) · Timeout 2 min

Also found by: cut, awk, columns, fields, split, delimiter

Option CLI Type Default Description
text (required) positional text (multi-line)
delimiter --delimiter text whitespace Any string, or ‘tab’ / ‘whitespace’.
columns --columns text 1 e.g. 1,3-4 or -1 for the last column.
output_delimiter --output-delimiter text tab Any string, or ‘tab’ / ‘space’.
nativelive

Add line numbers to each line of text.

Terminal window
dogubako text number-lines <text> [options]

Id text.number_lines · MCP text_number_lines · Output: text (text/plain) · Timeout 2 min

Also found by: line numbers, nl, enumerate, numbering

Option CLI Type Default Description
text (required) positional text (multi-line)
start --start integer 1 Start at.
step --step integer ≥ 1 1 Advanced.
separator --separator text .
pad --pad boolean true Pad numbers to equal width.
skip_empty --skip-empty boolean false Don’t number empty lines.
nativelive

Add text to the start and/or end of every line (e.g. quotes, commas, bullet points).

Terminal window
dogubako text prefix-suffix <text> [options]

Id text.prefix_suffix · MCP text_prefix_suffix · Output: text (text/plain) · Timeout 2 min

Also found by: prefix, suffix, prepend, append, wrap lines, quote lines, bullet

Option CLI Type Default Description
text (required) positional text (multi-line)
prefix --prefix text
suffix --suffix text
skip_empty --skip-empty boolean true Skip empty lines.
nativelive

Keep (or remove) lines that contain a word, start/end with text or match a regular expression (like grep).

Terminal window
dogubako text filter-lines <text> --pattern <pattern> [options]

Id text.filter_lines · MCP text_filter_lines · Output: text (text/plain) · Timeout 2 min

Also found by: grep, filter, lines containing, remove lines, keep lines, search

Option CLI Type Default Description
text (required) positional text (multi-line)
pattern (required) --pattern text
match --match choice contains One of: contains, starts (Starts with), ends (Ends with), exact (Equals), regex (Regular expression).
invert --invert boolean false Remove matching lines instead.
case_insensitive --case-insensitive boolean false Ignore case.
nativelive

Show every character’s code point, official Unicode name, category and UTF-8/UTF-16 encoding — find hidden or look-alike characters.

Terminal window
dogubako text unicode-inspect <text> [options]

Id text.unicode_inspect · MCP text_unicode_inspect · Output: structured data · Timeout 2 min

Also found by: unicode, code point, character, emoji, utf-8 bytes, hidden characters, homoglyph, char info

Option CLI Type Default Description
text (required) positional text (multi-line)
limit --limit integer 1–20000 2000 Max characters. Advanced.
nativelive

Count how often each word appears and list the most frequent ones.

Terminal window
dogubako text word-frequency [text] [options]

Id text.word_frequency · MCP text_word_frequency · Output: structured data · Timeout 2 min

Also found by: word frequency, keyword density, top words, concordance, count words

Option CLI Type Default Description
text positional text (multi-line)
file --file file Or upload a text file.
top --top integer ≥ 0 50 Show top N (0 = all).
min_length --min-length integer 1–100 1 Minimum word length.
ignore_stopwords --ignore-stopwords boolean false Ignore common English words.
native

Extract plain text from TXT, Markdown, HTML, JSON, CSV, DOCX, ODT, PPTX, ODP, XLSX/XLS/ODS, EPUB, RTF and PDF (PDF needs Poppler).

Terminal window
dogubako text extract <file> [options]

Id text.extract · MCP text_extract · Output: text (text/plain) · Timeout 5 min

Also found by: extract text, docx to text, word to text, epub, rtf, pptx, xlsx, odt, pdf to text, plain text

Option CLI Type Default Description
file (required) positional file Document. Accepts text/*, .txt .md .html .htm .xhtml .json +15 more.
width --width integer 20–10000 100 Line width for HTML-based formats. Advanced.