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.3.0.tar.gz (43.5 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.3.0-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for clipable-0.3.0.tar.gz
Algorithm Hash digest
SHA256 d2329d6d8b23624e28be0df747b26f9a8d5de493fa7669fe93be62e5d8b3d814
MD5 7c013a623798786d52d59080e474d40e
BLAKE2b-256 0b78a60185781d1ccc1afb5f5164c6e8a855739ca614a20c443124b9bc3fb539

See more details on using hashes here.

Provenance

The following attestation bundles were made for clipable-0.3.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.3.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for clipable-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e470f4f816e3e6610b1b39fe5afed75e15189c1e332c5254fb593489d070977e
MD5 cad5a47730a623287cab780ab128f7ce
BLAKE2b-256 d94d38658c5ed3be5f41e4de62bbcf8d76d2ff0f7ef99aca2cab0d9078fe02be

See more details on using hashes here.

Provenance

The following attestation bundles were made for clipable-0.3.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