Rúmil Help

A complete list of all available text transformation commands.

About

Rúmil is a text manipulation tool for everyday data wrangling. Paste in database output, log files, API responses, or any raw text and quickly transform it into the format you need — whether that's a spreadsheet-ready CSV, a converted data format like JSON to XML, or just cleaned-up text you can share with colleagues. It is not a code editor or IDE; there is no syntax highlighting or project management. Instead, it focuses on doing one thing well: reshaping text fast.

Named after Rúmil of Tirion, the Elf who invented the first writing system in Tolkien's legendarium.

Keyboard Shortcuts

ActionMacWindows/Linux
Open Command Palette⌘KCtrl+K
Open Settings⌘,Ctrl+,
Open File⌘OCtrl+O
Save / Download⌘SCtrl+S
Find and Replace⌘F ⌘HCtrl+F Ctrl+H
Add CursorOption + ClickAlt + Click
Select Next OccurrenceCtrl+GAlt+J
Go to Line⌘LCtrl+G
Select All OccurrencesCtrl+⌘GCtrl+Alt+Shift+J
Indent Line(s)TabTab
Unindent Line(s)Shift+TabShift+Tab
Move Line(s) UpOption+Shift+↑Alt+Shift+↑
Move Line(s) DownOption+Shift+↓Alt+Shift+↓
Duplicate Line / Selection⌃⌥CCtrl+Alt+C
Toggle Split Editor⌘\Ctrl+\
Switch Panel Focus⌘←/→ ⌘↑/↓Ctrl+←/→ Ctrl+↑/↓
Close Focused Panel⌃WCtrl+W

Using the Command Palette

Press ⌘K (Mac) or Ctrl+K (Windows/Linux) to open the command palette. Type to search for commands, use arrow keys to navigate, and press Enter to execute.

remove|
Remove Whitespace (ignore newlines)
Remove spaces and tabs but keep line breaks
Remove Whitespace (include newlines)
Remove all whitespace including line breaks
↑↓ Navigate↵ SelectEsc Close

Commands

Case Transforms

Uppercase

Convert all letters to uppercase

hello worldHELLO WORLD

Lowercase

Convert all letters to lowercase

HELLO WORLDhello world

Capitalize

Capitalize the first letter of each word

hello worldHello World

Decapitalize

Lowercase the first letter of each word

Hello Worldhello world

Titleize

Convert text to Title Case

hello worldHello World

Title Case (AP Style)

Title case following AP style (capitalizes 4+ letter prepositions)

running through the forestRunning Through the Forest

Title Case (Chicago Style)

Title case following Chicago style (lowercases all prepositions)

running through the forestRunning through the Forest

Sentence Case

Capitalize only the first letter of the text

hello worldHello world

Camelize

Convert text to camelCase format

hello worldhelloWorld

Pascal Case

Convert text to PascalCase (UpperCamelCase)

hello worldHelloWorld

Snake Case

Convert text to snake_case (underscore-separated lowercase)

hello worldhello_world

Screaming Snake Case

Convert text to SCREAMING_SNAKE_CASE (uppercase with underscores)

hello worldHELLO_WORLD

Dasherize

Convert text to kebab-case (hyphen-separated lowercase)

hello worldhello-world

Dot Case

Convert text to dot.case (dot-separated lowercase)

hello worldhello.world

Swap Case

Swap uppercase and lowercase letters

Hello WorldhELLO wORLD

Alternating Case

Alternate case starting with lowercase

hello worldhElLo WoRlD

Inverse Alternating Case

Alternate case starting with uppercase

hello worldHeLlO wOrLd

Random Case

Randomly change the case of each letter

Output varies each time

hello worldhElLo WoRLd

Humanize

Convert machine-readable text to human-readable format

hello_worldHello world

Slugify

Convert text to URL-friendly slug format

Hello World!hello-world

Text Operations

Clean

Remove extra whitespace, leaving single spaces between words

hello world hello world

Clean Diacritics

Remove accents and diacritical marks from characters

café résumécafe resume

Remove Whitespace (ignore newlines)

Remove spaces and tabs but keep line breaks

hello worldhelloworld

Remove Whitespace (include newlines)

Remove all whitespace including line breaks

hello worldhelloworld

Reverse

Reverse the order of characters

helloolleh

Swap Quotes

Swap single and double quotes

"hello" 'world''hello' "world"

Quote

Wrap text with double quotes

hello"hello"

Unquote

Remove surrounding quotes (supports single, double, and smart quotes)

"hello"hello

Chop into Groups

Split text into groups of N characters (comma-separated)

Requires input: number of characters per group

hellohel,lo

Repeat

Repeat the text N times

Requires input: number of repetitions (example shows 3)

abababab

Truncate

Truncate text to N characters, adding ellipsis

Requires input: maximum length (example shows 8)

hello worldhello...

Prune

Truncate text at word boundary, adding ellipsis

Requires input: maximum length (example shows 12)

hello world foohello...

Wrap With...

Wrap text with characters (auto-matches pairs like parentheses)

Requires input: opening character (e.g., ( [ { " ' **)

hello(hello)

Unwrap

Remove surrounding characters (auto-detects pairs)

(hello)hello

Pad Left

Pad text on the left to reach target length

Requires input: target length and optional padding character (e.g., '5, 0')

4200042

Pad Right

Pad text on the right to reach target length

Requires input: target length and optional padding character (e.g., '5')

hihi

Center

Center text within a target width by padding both sides

Requires input: target width and optional padding character (e.g., '11' or '11, -')

hello hello

Extract Numbers

Extract all numbers from text, one per line

Order 123 costs $45.99123 45.99

Remove Numbers

Remove all numeric characters from text

Order 123 costs $45.99Order costs $.

Extract Emails

Extract all email addresses from text, one per line

Contact john@example.com or jane@test.orgjohn@example.com jane@test.org

Extract URLs

Extract all URLs from text, one per line

Visit https://example.com or https://test.orghttps://example.com https://test.org

Remove Non-Alphanumeric

Keep only letters and numbers, remove everything else

Hello, World! 123HelloWorld123

Add Prefix

Add text to the beginning

Requires input: the prefix to add (example shows 'Hello ')

worldHello world

Add Suffix

Add text to the end

Requires input: the suffix to add (example shows ' world')

HelloHello world

Number Operations

Increment All Numbers

Add 1 to all integers in the text

item1 count5item2 count6

Decrement All Numbers

Subtract 1 from all integers in the text

item2 count6item1 count5

Increment All Floats

Add 1 to all numbers (including decimals) in the text

price 9.99price 10.99

Decrement All Floats

Subtract 1 from all numbers (including decimals) in the text

price 10.99price 9.99

Create Sequence

Create a sequence from numbers, starting with the first number found

1 1 1 1 1 11 2 3 4 5 6

Line Operations

Sort Lines (A-Z)

Sort lines alphabetically ascending (case-insensitive)

Banana apple Cherryapple Banana Cherry

Sort Lines (Z-A)

Sort lines alphabetically descending (case-insensitive)

apple Banana CherryCherry Banana apple

Sort Lines (A-Z, Case-Sensitive)

Sort lines alphabetically ascending (case-sensitive)

banana Apple cherryApple banana cherry

Sort Lines (Z-A, Case-Sensitive)

Sort lines alphabetically descending (case-sensitive)

Apple banana cherrycherry banana Apple

Sort Lines (Numeric)

Sort lines by numeric value

item 10 item 2 item 1item 1 item 2 item 10

Reverse Lines

Reverse the order of lines (not characters)

first second thirdthird second first

Shuffle Lines

Randomly reorder lines

Output varies each time

a b cc a b

Remove Duplicate Lines

Keep only unique lines (ignores whitespace differences)

apple banana appleapple banana

Remove Empty Lines

Delete blank lines from text

hello worldhello world

Trim Lines

Remove leading/trailing whitespace from each line

hello world hello world

Join Lines

Join multiple lines into one with a separator

Requires input: separator (example shows ', ')

apple banana cherryapple, banana, cherry

Split to Lines

Split text by delimiter into separate lines

Requires input: delimiter (example shows ', ')

apple, banana, cherryapple banana cherry

Number Lines

Add line numbers as a prefix to each line

hello world1. hello 2. world

Developer Tools

JSON Format

Pretty print JSON with indentation

{"name":"John","age":30}{ "name": "John", "age": 30 }

JSON Minify

Compact JSON to a single line

{ "name": "John" }{"name":"John"}

JSON to YAML

Convert JSON to YAML format

{"name":"John","age":30}name: John age: 30

JSON to JS Object

Convert JSON to JavaScript object literal by removing quotes from valid identifier keys

{"name": "John"}{name: "John"}

JS Object to JSON

Convert JavaScript object literal to valid JSON by adding quotes to keys

{name: "John"}{"name": "John"}

JSON to XML

Convert JSON to XML format

{"name":"John","age":30}<root> <name>John</name> <age>30</age> </root>

JS Object to YAML

Convert JavaScript object literal to YAML format

{name: "John", age: 30}name: John age: 30

JS Object to XML

Convert JavaScript object literal to XML format

{name: "John", age: 30}<root> <name>John</name> <age>30</age> </root>

YAML to JSON

Convert YAML to JSON format

name: John age: 30{"name":"John","age":30}

YAML to JS Object

Convert YAML to JavaScript object literal

name: John age: 30{name: "John", age: 30}

YAML to XML

Convert YAML to XML format

name: John age: 30<root> <name>John</name> <age>30</age> </root>

XML to JSON

Convert XML to JSON format

<root><name>John</name><age>30</age></root>{"name":"John","age":"30"}

XML to YAML

Convert XML to YAML format

<root><name>John</name><age>30</age></root>name: John age: 30

CSV to JSON

Convert CSV data to a JSON array of objects (first row as headers)

name,age Alice,30 Bob,25[{"name":"Alice","age":30},{"name":"Bob","age":25}]

JSON to CSV

Convert a JSON array of objects to CSV (keys become headers)

[{"name":"Alice","age":30},{"name":"Bob","age":25}]name,age Alice,30 Bob,25

XML Format

Pretty print XML with indentation

<root><item>text</item></root><root> <item>text</item> </root>

XML Minify

Compact XML to a single line

<root> <item>text</item> </root><root><item>text</item></root>

CSS Format

Pretty print CSS with indentation

.class{color:red;margin:0}.class { color: red; margin: 0; }

CSS Minify

Compact CSS to a single line

.class { color: red; }.class{color:red}

CSS-in-JS to CSS

Convert CSS-in-JS syntax to plain CSS

backgroundColor: "red",background-color: red;

CSS to CSS-in-JS

Convert plain CSS to CSS-in-JS syntax

background-color: red;backgroundColor: "red",

Hex to RGB

Convert hex colour codes (#RGB, #RRGGBB, #RRGGBBAA) to rgb()/rgba()

#ff5733rgb(255, 87, 51)

RGB to Hex

Convert rgb()/rgba() colour values to hex codes

rgb(255, 87, 51)#ff5733

Hex to HSL

Convert hex colour codes to hsl()/hsla()

#ff0000hsl(0, 100%, 50%)

HSL to Hex

Convert hsl()/hsla() colour values to hex codes

hsl(0, 100%, 50%)#ff0000

RGB to HSL

Convert rgb()/rgba() colour values to hsl()/hsla()

rgb(255, 0, 0)hsl(0, 100%, 50%)

HSL to RGB

Convert hsl()/hsla() colour values to rgb()/rgba()

hsl(0, 100%, 50%)rgb(255, 0, 0)

Escape String

Escape quotes and special characters for string literals

Hello "World"Hello \"World\"

Unescape String

Convert escape sequences back to characters

Hello \"World\"Hello "World"

Table to CSV

Convert ASCII table format (with | separators) to CSV

col1 | col2 -----+----- 1 | acol1,col2 1,a

Table to TSV

Convert ASCII table format (with | separators) to TSV (tab-separated)

col1 | col2 -----+----- 1 | acol1\tcol2 1\ta

Generate Placeholder Text

Generate random placeholder text by words, paragraphs, or bytes

5 wordsxkf qwerty abc jlmnop z

Generate Lorem Ipsum

Generate classic Lorem Ipsum text by words, paragraphs, or bytes

5 wordsLorem ipsum dolor sit amet

Encoding/Decoding

Base64 Encode

Encode text to Base64 format

Hello WorldSGVsbG8gV29ybGQ=

Base64 Decode

Decode Base64 back to text

SGVsbG8gV29ybGQ=Hello World

URL Encode

Percent-encode special characters for URLs

hello worldhello%20world

URL Decode

Decode percent-encoded URLs

hello%20worldhello world

HTML Entity Encode

Convert special characters to HTML entities

<div>&lt;div&gt;

HTML Entity Decode

Convert HTML entities back to characters

&lt;div&gt;<div>

Unicode Escape

Convert non-ASCII characters to \uXXXX format

cafécaf\u00e9

Unicode Unescape

Convert \uXXXX sequences back to characters

caf\u00e9café

Hash/Checksum

SHA-256 Hash

Generate SHA-256 hash of text (replaces selection with hash)

hello2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

Character Count

Show detailed character statistics (characters, words, lines, paragraphs, bytes)

hello worldCharacters: 11 Characters (no spaces): 10 Words: 2 Lines: 1 Paragraphs: 1 Bytes: 11

Multi-Cursor

Add Cursor to Line Ends

Add a cursor at the end of each selected line for simultaneous editing

| represents cursor positions

aaa bbb cccaaa| bbb| ccc|

Add Cursor to Line Starts

Add a cursor at the start of each selected line for simultaneous editing

| represents cursor positions

aaa bbb ccc|aaa |bbb |ccc

Split Selection into Lines

Create a separate selection for each line in the current selection

[] represents selection ranges

[aaa bbb ccc][aaa] [bbb] [ccc]

Date/Time

Insert Date

Insert the current date in ISO 8601 format at the cursor position

(cursor)2026-02-07

Insert Time

Insert the current time in 24-hour format at the cursor position

(cursor)01:18:41

Insert Date-Time

Insert the current date and time in ISO 8601 format at the cursor position

(cursor)2026-02-07T01:18:41

Customize Date/Time Format

Open a format builder to customize the output of Insert Date, Insert Time, and Insert Date-Time. Choose from presets or build your own format with year, month, day, hour, minute, second, AM/PM, and separator pieces.

(command palette)Opens format builder modal

Insert UUID

Generate a random UUID (v4) and insert it at the cursor position

Output varies each time

(cursor)550e8400-e29b-41d4-a716-446655440000

Theme Names

The themes are named after Elven loremasters and scribes from Tolkien's legendarium:

Rúmil — The Elf of Tirion who invented the first writing system (the Sarati) in Aman.
Daeron — The minstrel and loremaster of King Thingol in Doriath, who invented the Cirth (runic alphabet).
Erestor — Chief counselor of Elrond's household in Rivendell, present at the Council of Elrond.
Pengolodh — The great loremaster of Gondolin who compiled the Annals of Beleriand and other histories.
Fëanor — The greatest of the Noldor, creator of the Silmarils and inventor of the Tengwar script.