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 |
— |
Change Case
Section titled “Change Case”Convert text to UPPER, lower, Title, Sentence, camelCase, snake_case, kebab-case and more.
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. |
Word & Character Count
Section titled “Word & Character Count”Count characters, words, lines, sentences, paragraphs and bytes; estimate reading and speaking time; list the most frequent words.
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. |
Sort Lines
Section titled “Sort Lines”Sort lines alphabetically, naturally, numerically, by length or shuffle them; optionally reverse and remove duplicates.
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. |
Remove Duplicate Lines
Section titled “Remove Duplicate Lines”Remove duplicate lines while keeping the original order, keeping the first or last occurrence.
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. |
Trim & Remove Whitespace
Section titled “Trim & Remove Whitespace”Trim leading/trailing spaces on every line, collapse repeated spaces and remove empty lines.
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. |
Line Endings
Section titled “Line Endings”Detect and convert line endings between LF (Unix), CRLF (Windows) and CR (classic Mac).
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)). |
Find & Replace
Section titled “Find & Replace”Find and replace plain text, optionally case-insensitive or whole words only.
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. |
Regex Replace
Section titled “Regex Replace”Search and replace with a regular expression; use $1 or ${name} in the replacement to insert capture groups.
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. |
Compare Text (Diff)
Section titled “Compare Text (Diff)”Compare two texts and highlight insertions and deletions by line, word or character; also produces a unified diff.
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. |
Escape / Unescape
Section titled “Escape / Unescape”Escape or unescape text for JSON, JavaScript, HTML, XML, URLs, CSV, shell, regex, C, Java, Python and SQL string literals.
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. |
Convert Text Encoding
Section titled “Convert Text Encoding”Detect and convert the character encoding of a file or text (UTF-8, UTF-16, Windows-1252, Latin-1, Shift_JIS, GBK, Big5 …).
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. |
Markdown Preview
Section titled “Markdown Preview”Render Markdown (GitHub-flavored: tables, task lists, strikethrough, footnotes) as safe, sanitized HTML.
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. |
Markdown to HTML
Section titled “Markdown to HTML”Convert Markdown (GitHub-flavored) to HTML, optionally as a complete standalone HTML document.
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. |
HTML to Plain Text
Section titled “HTML to Plain Text”Convert HTML into readable plain text, keeping lists, tables and link targets.
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. |
HTML to Markdown
Section titled “HTML to Markdown”Convert HTML into clean Markdown.
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. |
Clean Up Text
Section titled “Clean Up Text”Straighten smart quotes, remove invisible characters, normalize Unicode, strip accents, fix mojibake and tidy whitespace.
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. |
Slugify
Section titled “Slugify”Turn text into URL-friendly slugs (each line separately): Crème Brûlée! → creme-brulee.
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. |
Reverse Text
Section titled “Reverse Text”Reverse the characters, the word order or the line order of text.
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). |
Lorem Ipsum Generator
Section titled “Lorem Ipsum Generator”Generate lorem ipsum placeholder text as words, sentences or paragraphs.
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. |
Wrap Text
Section titled “Wrap Text”Hard-wrap text at a given line width, or unwrap paragraphs into single lines.
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. |
Extract Columns
Section titled “Extract Columns”Split each line by a delimiter and keep selected columns (like cut / awk ‘{print $2}’).
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’. |
Number Lines
Section titled “Number Lines”Add line numbers to each line of text.
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. |
Add Prefix / Suffix
Section titled “Add Prefix / Suffix”Add text to the start and/or end of every line (e.g. quotes, commas, bullet points).
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. |
Filter Lines
Section titled “Filter Lines”Keep (or remove) lines that contain a word, start/end with text or match a regular expression (like grep).
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. |
Unicode Inspector
Section titled “Unicode Inspector”Show every character’s code point, official Unicode name, category and UTF-8/UTF-16 encoding — find hidden or look-alike characters.
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. |
Word Frequency
Section titled “Word Frequency”Count how often each word appears and list the most frequent ones.
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. |
Extract Text from Document
Section titled “Extract Text from Document”Extract plain text from TXT, Markdown, HTML, JSON, CSV, DOCX, ODT, PPTX, ODP, XLSX/XLS/ODS, EPUB, RTF and PDF (PDF needs Poppler).
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. |