Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

CSVtoTable

CSVtoTable converts CSV files into interactive HTML tables.

  • Single native binary with embedded frontend assets
  • Standalone HTML output that works offline
  • Mobile-responsive table layout
  • Search, sorting, pagination, and virtual scrolling
  • Copy, CSV, JSON, and print exports
  • User-controlled light and dark themes

Install

uvx, pipx, or pip

Run without installing:

uvx csvtotable data.csv data.html

Or install it:

pipx install csvtotable
# or, inside a virtual environment:
pip install csvtotable

uv tool install csvtotable works too. Python is only needed to install the prebuilt executable.

npx or npm

npx @vividvilla/csvtotable data.csv data.html
# or install globally:
npm install --global @vividvilla/csvtotable

To run a particular published version:

uvx csvtotable@X.Y.Z data.csv data.html
npx @vividvilla/csvtotable@X.Y.Z data.csv data.html

Standalone binary

Download an archive from GitHub Releases, verify it with SHA256SUMS, and place csvtotable (csvtotable.exe on Windows) on your PATH.

Prebuilt binaries support Linux x86-64/ARM64, macOS 12+ x86-64/Apple Silicon, and Windows 10+ x86-64.

Usage

# Write a standalone page
csvtotable data.csv data.html

# Open a temporary page in the default browser
csvtotable data.csv --serve

# Add a title and generate headers for headerless data
csvtotable data.csv data.html --title "Sales" --no-header

# Read stdin and write stdout
curl -L https://example.com/data.csv | csvtotable - - > data.html

BOM-marked UTF-8 and UTF-16 input is detected automatically. Use --encoding for other encodings, and --delimiter or --quotechar for custom CSV formats.

Run csvtotable --help for all options or csvtotable --version for the version. For compatibility with version 2, --pagination and --export disable those features.

Development

Building requires Go 1.24+ and Bun. Distribution packaging also requires Python and npm. table/dist is generated before the Go build and embedded in the final binary.

nix develop  # optional development environment
make build   # frontend and build/csvtotable
make test    # frontend, formatting, vet, and tests
make dist    # binary and host-platform packages under dist/
./build/csvtotable sample/goog.csv /tmp/goog.html

License

MIT

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

csvtotable-3.0.0b2-py3-none-win_amd64.whl (2.1 MB view details)

Uploaded Python 3Windows x86-64

csvtotable-3.0.0b2-py3-none-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

csvtotable-3.0.0b2-py3-none-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

csvtotable-3.0.0b2-py3-none-manylinux_2_17_x86_64.whl (2.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

csvtotable-3.0.0b2-py3-none-manylinux_2_17_aarch64.whl (1.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

csvtotable-3.0.0b2-py3-none-macosx_12_0_x86_64.whl (2.1 MB view details)

Uploaded Python 3macOS 12.0+ x86-64

csvtotable-3.0.0b2-py3-none-macosx_12_0_arm64.whl (2.0 MB view details)

Uploaded Python 3macOS 12.0+ ARM64

File details

Details for the file csvtotable-3.0.0b2-py3-none-win_amd64.whl.

File metadata

  • Download URL: csvtotable-3.0.0b2-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for csvtotable-3.0.0b2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 7bafe6a4e47be2a42bc8da2d74d80adee02461a3397ad7806ce2412488295c7d
MD5 8bfc9fe4c0c6f16c7c1b0a5b04220b23
BLAKE2b-256 93d3f04d9ac20f32d57f6870dd7b25be34b1a34781c5df091e71c9c64baa66df

See more details on using hashes here.

Provenance

The following attestation bundles were made for csvtotable-3.0.0b2-py3-none-win_amd64.whl:

Publisher: release.yml on vividvilla/csvtotable

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

File details

Details for the file csvtotable-3.0.0b2-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for csvtotable-3.0.0b2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5435c9eaf05bd875eaa6e5a0856665c01d117bb16b3d02d0fe48b1c86fccbb47
MD5 b393e46013fbc69c85337738783a9ce8
BLAKE2b-256 acc980ee7323de082b0e8a62235eb12bf00b74581303d4d1e15bf05577ab0364

See more details on using hashes here.

Provenance

The following attestation bundles were made for csvtotable-3.0.0b2-py3-none-musllinux_1_2_x86_64.whl:

Publisher: release.yml on vividvilla/csvtotable

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

File details

Details for the file csvtotable-3.0.0b2-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for csvtotable-3.0.0b2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b80bc39993f5ccc8f9c060b8585e24703ea2b37dd13f8e23c13aa50dc0e05c25
MD5 000462ff32b4d513ddecff6073fd15d4
BLAKE2b-256 003b142507e58db331757ef41a3db2f483d1015ae4c7138014c9abef81d381e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for csvtotable-3.0.0b2-py3-none-musllinux_1_2_aarch64.whl:

Publisher: release.yml on vividvilla/csvtotable

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

File details

Details for the file csvtotable-3.0.0b2-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for csvtotable-3.0.0b2-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 1ccdb4eead428ea645c72e09c9b5d6ba8a97abebdc417734e5acb096f658614c
MD5 930ac816ab19ba15049f7b096d595747
BLAKE2b-256 6a6479523f862ce6a27fa1eff8c4e292b48f4913eaa3089aa32a28e8fb60d891

See more details on using hashes here.

Provenance

The following attestation bundles were made for csvtotable-3.0.0b2-py3-none-manylinux_2_17_x86_64.whl:

Publisher: release.yml on vividvilla/csvtotable

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

File details

Details for the file csvtotable-3.0.0b2-py3-none-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for csvtotable-3.0.0b2-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 a2ef694718aaa4f545677b1f00b4ea026e127cc5097753c35a0334959d8da213
MD5 9182dc0ca48e3a2f88169f47d2f074b4
BLAKE2b-256 842490af7a7479cfd7e80e87e9fe51985a4bab52771cc1e2b2df0ce48439d022

See more details on using hashes here.

Provenance

The following attestation bundles were made for csvtotable-3.0.0b2-py3-none-manylinux_2_17_aarch64.whl:

Publisher: release.yml on vividvilla/csvtotable

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

File details

Details for the file csvtotable-3.0.0b2-py3-none-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for csvtotable-3.0.0b2-py3-none-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 65e4d0e2a1abf0c82a137414346746a94d2610835e695856e483224613cf4269
MD5 f53ce029b59a9924876110c6d0aa9d3c
BLAKE2b-256 534d0e61f981ce669a3e282070e8dd7860dd15315d04ef518e9b04c9856b121a

See more details on using hashes here.

Provenance

The following attestation bundles were made for csvtotable-3.0.0b2-py3-none-macosx_12_0_x86_64.whl:

Publisher: release.yml on vividvilla/csvtotable

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

File details

Details for the file csvtotable-3.0.0b2-py3-none-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for csvtotable-3.0.0b2-py3-none-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 2afd2640289fc37dbc0f808052fa580a20e16408f29d479e84d0487bb0531c99
MD5 5d470baf0b3e892a58f16d69fd07819c
BLAKE2b-256 b6e1a77afb970c93d680fe91f09b3fbc7e8507f2734d80656e3babca9bd26d0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for csvtotable-3.0.0b2-py3-none-macosx_12_0_arm64.whl:

Publisher: release.yml on vividvilla/csvtotable

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

Release history Release notifications | RSS feed

3.2.0

7 files

3.1.0

7 files

3.0.0

7 files

This release

3.0.0b2 This release

7 files

2.1.1

2 files

2.1.0

2 files

2.0.0

2 files

1.1.4

1 file

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

Supported by

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