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.4.0.tar.gz (44.2 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.4.0-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for clipable-0.4.0.tar.gz
Algorithm Hash digest
SHA256 4249964e447326d5f9c54bc1bf42e665226b9e0b24b043373f1f22b82d9c52c7
MD5 9292e2a3b3be37860126acf08c235acb
BLAKE2b-256 8393d9eff8da1961f07122b1b439a5785f132034f42d367856f1515fbec3f585

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: clipable-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 6.7 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 febf0e89533946bde1ff4caf5617d8696b5a26b30d69da9b91b0623414cad3e1
MD5 e6e03eae0dfbb503f6cf7257eba4a5ae
BLAKE2b-256 92b2e62deeef8f333b6f27cfc6a279ee1045308e771a4c6af7903e90b0c78f9c

See more details on using hashes here.

Provenance

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