Voltkit Manual GitHub
On this page

Smart Paste

Smart Paste lets you paste what you copied, converted. Instead of Ctrl+V, press Super+Shift+V and choose how it should land: tidy JSON, a spreadsheet range as a Markdown table, a link without its tracking, a PDF paragraph without broken lines, UPPERCASE, snake_case and more.

Smart Paste page turning a spreadsheet range into a Markdown table and CSV
Smart Paste page turning a spreadsheet range into a Markdown table and CSV

Use it in any app#

  1. Copy something: text, cells from a spreadsheet, JSON, a link, or a screenshot.
  2. Click where it should go: an email, a document, a chat, a terminal.
  3. Press the Smart Paste shortcut (Super+Shift+V). A small window lists the ways the clipboard can be pasted, each with a preview of exactly what would be pasted.
  4. Choose one and press Enter. Use ↑ ↓ to choose and Esc to cancel.

Only the conversions that fit what you copied are offered, and "Plain text" is always first. Your clipboard is left as it was after pasting. If pasting is not possible, Smart Paste copies the result and says Press Ctrl+V to paste it. As with the snippet picker, the desktop asks once for permission to paste for you.

If nothing useful is on the clipboard you see Nothing to Paste: copy some text or an image first.

Copied an image?#

Smart Paste reads the text in a copied screenshot (OCR, locally) and offers to paste it. You see Reading the Text in the Image…, then the text. If the image has no text Voltkit can read, it says No Text in the Image. Recognition uses the language set in Text Extractor.

All conversions#

ConversionWhen it is offeredWhat it does
Plain textalwaysThe text without formatting, with Unix line endings
Formatted JSONthe text is valid JSONIndents it readably
Compact JSONthe text is valid JSONRemoves all whitespace
Markdown tabletab-separated cells (a spreadsheet range) or a CSVBuilds a Markdown table
CSVtab-separated cellsConverts to comma-separated values, quoting where needed
Link without trackinga single link with tracking parametersRemoves utm_* and well-known trackers such as fbclid, gclid, msclkid, mc_cid, igshid and others
Readable linka link with percent codesTurns %20 and similar into real characters when the result is valid text
Decoded Base64text that is Base64 and decodes to readable textShows the decoded text
Join broken linestext copied from a PDF or email with a line break in every lineJoins each paragraph into one line, keeps blank lines between paragraphs, rejoins hyphenated words
One linemulti-line textPuts everything on one line
Tidy spacesextra spaces, tabs or blank linesRemoves trailing and repeated spaces and blank lines at the ends
Bulleted listseveral linesAdds bullets (an existing bullet or number is replaced)
Numbered listseveral linesAdds numbers (an existing bullet or number is replaced)
QuotetextPrefixes each line with >
UPPERCASE, lowercaseordinary wordsChanges the letter case
Title Case, Sentence caseordinary wordsCapitalizes words, or only the first letter of each sentence
snake_case, kebab-case, camelCasea short phrase or identifierConverts to the code-style naming

A conversion that would change nothing, or that does not fit, is not shown. Case conversions are not offered for links or JSON.

The page#

The Smart Paste page in the app shows the same ideas without leaving the window:

  • Use it in any app: the four steps above, with your current shortcut.
  • Source text: type or paste text here to try the conversions.
  • Conversions: one row per conversion that fits, with a Copy button (it changes to Copied). Rows that do not fit say Only plain text fits this.

From the terminal#

The same conversions work in scripts, reading from standard input:

voltkit convert                         # list the conversions
wl-paste | voltkit convert markdown-table
cat data.json | voltkit convert json-compact
echo "Hello world" | voltkit convert snake    # hello_world
voltkit smart-paste                      # open Smart Paste for the current clipboard
voltkit trigger smart-paste              # the same as the shortcut

Conversion names for voltkit convert: plain, json, json-compact, markdown-table, csv, clean-link, decode-link, base64-decode, join-lines, one-line, tidy-spaces, bullets, numbered, quote, upper, lower, title, sentence, snake, kebab, camel.

Troubleshooting#

  • The shortcut does nothing. See Global shortcuts and the background service.
  • A conversion is missing. It is only offered when it fits what you copied. Check the source text.
  • Nothing is pasted. Allow the RemoteDesktop permission when the desktop asks, or press Ctrl+V after Smart Paste copies the result.