Skip to main content

Convert clipboard spreadsheet data to Markdown table

Project description

clipable

PyPI version Python Downloads License: MIT CI

clipable converts spreadsheet data from your clipboard into a Markdown table — instantly.

Copy cells from Excel, Google Sheets, or any CSV/TSV source, run clipable, and the Markdown table is already in your clipboard, ready to paste into any document or wiki.

Why clipable?

Manually converting spreadsheet data to Markdown tables is tedious. clipable eliminates that entirely.

With watch mode, you don't even run a command — just copy cells from a spreadsheet and the clipboard is automatically converted. The flow becomes simply: copy → paste.

Install

pip install clipable

With uv:

uv tool install clipable

Usage

Watch mode (recommended)

Start the watcher once in a terminal. After that, every time you copy cells from a spreadsheet the clipboard is silently converted to Markdown in the background.

clipable watch
╭─────────────────────────────────────────────────────╮
│ clipable watch — watching clipboard                 │
│ Copy cells from a spreadsheet and they will be      │
│ auto-converted to Markdown.                         │
│ Ctrl+C to stop                                      │
╰─────────────────────────────────────────────────────╯

✓ Detected TSV — converted to Markdown and updated clipboard
╭─ Markdown ──────────────────────────────────────────╮
│ | Name  | Age | Department  |                       │
│ | ----- | --- | ----------- |                       │
│ | Alice | 30  | Engineering |                       │
│ | Bob   | 25  | Design      |                       │
╰─────────────────────────────────────────────────────╯

One-shot conversion

Copy cells from a spreadsheet, then run:

clipable

The clipboard is replaced with the Markdown table and printed to the terminal for confirmation.

Options

Option Default Description
-f, --format auto Force format: tsv or csv
-l, --linesep <br> Replacement string for in-cell line breaks
--version Show version and exit

For clipable watch:

Option Default Description
-l, --linesep <br> Replacement string for in-cell line breaks
-i, --interval 0.5 Clipboard polling interval in seconds

Format auto-detection

clipable automatically detects whether your clipboard contains TSV (tab-separated) or CSV (comma-separated) data. Use -f to override when needed.

Example output

Input (copied from Google Sheets):

Name	Age	Department
Alice	30	Engineering
Bob	25	Design

Output (Markdown, written back to clipboard):

| Name  | Age | Department  |
| ----- | --- | ----------- |
| Alice | 30  | Engineering |
| Bob   | 25  | Design      |

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clipable-0.5.0.tar.gz (45.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clipable-0.5.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file clipable-0.5.0.tar.gz.

File metadata

  • Download URL: clipable-0.5.0.tar.gz
  • Upload date:
  • Size: 45.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for clipable-0.5.0.tar.gz
Algorithm Hash digest
SHA256 f89ed4b4ce34fd195c276cd2e022c564920381c13ddd3d837d2b616b4218bf17
MD5 0d6f3ca6ebef1900459cd5b6283b03ac
BLAKE2b-256 fae9c2d96e8611a3ecff6194c73ef3db4e11cfff36db541c36aa1257d9a053eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for clipable-0.5.0.tar.gz:

Publisher: publish.yml on yujikawa/clipable

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clipable-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: clipable-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for clipable-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4ea656add16e6e0fe975754816188f95426d488643b01a4bebc5d2bc8adf0927
MD5 b1b4071de467bdd083d200c8b7ba5cdd
BLAKE2b-256 67aed6afc3e24721d0a1d928d7958aec2f28bdcc6cf769549576eb38731fc00e

See more details on using hashes here.

Provenance

The following attestation bundles were made for clipable-0.5.0-py3-none-any.whl:

Publisher: publish.yml on yujikawa/clipable

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page