Skip to main content

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

Metadata

Release files for clipable 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clipable 0.5.0
File Size Uploaded
clipable-0.5.0.tar.gz 45.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for clipable 0.5.0
File Interpreter ABI Platform
clipable-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 53.3 kB

Release files / clipable-0.5.0.tar.gz

Download URL clipable-0.5.0.tar.gz
Size 45.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f89ed4b4ce34fd195c276cd2e022c564920381c13ddd3d837d2b616b4218bf17
BLAKE2b-256 checksum
How to use checksums
fae9c2d96e8611a3ecff6194c73ef3db4e11cfff36db541c36aa1257d9a053eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 26, 2026.

Transparency log

Release files / clipable-0.5.0-py3-none-any.whl

Download URL clipable-0.5.0-py3-none-any.whl
Size 7.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4ea656add16e6e0fe975754816188f95426d488643b01a4bebc5d2bc8adf0927
BLAKE2b-256 checksum
How to use checksums
67aed6afc3e24721d0a1d928d7958aec2f28bdcc6cf769549576eb38731fc00e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page