Skip to content

Repository files navigation

CSV Row Printer

GitHub stars

CSV Row Printer turns each row of a CSV file into a clean, printable card. Upload a file, pick the columns you care about, customize the layout, then print the cards or save them as a PDF.

All parsing happens in your browser — your CSV data is never uploaded to a server. The hosted demo loads Google Tag Manager / Google Analytics for anonymous visit statistics only; it never receives your file contents. Remove the GTM and GA snippets from index.html if you want a fully analytics-free build.

Demo

Capabilities

  • Stream and parse large CSV files without freezing the UI
  • Choose color themes for the cards
  • Search within the generated cards
  • RTL layout support
  • Build a custom QR Code, or generate one from a column's value
  • Print only the columns you select
  • Change the row range
  • Add a header and footer to the cards
  • Merge (group by) rows using a column
  • Rename column labels
  • Change the width and min height of the cards

Development

This project is plain HTML, JavaScript (ES modules), and SCSS — no bundler.

  1. Install pnpm.
  2. Run pnpm install to install dev dependencies.
  3. Run pnpm dev to watch and compile the SCSS files (or pnpm build for a one-off build).
  4. Open index.html with the Live Server extension.

Scripts

Command Description
pnpm dev Watch and compile SCSS
pnpm build Compile SCSS once (minified)
pnpm test Run the unit tests (Vitest)
pnpm test:watch Run the tests in watch mode
pnpm test:coverage Run the tests with a coverage report
pnpm format Format the source with Prettier
pnpm format:check Check formatting without writing changes

Testing

Pure, DOM-free logic lives in src/core/core.js and is covered by Vitest tests in tests/. Run them with:

pnpm test

About

CSV Row Printer is a tool that helps you upload your CSV files to it and separate the information in each row and print it as a card or output it.

Topics

Resources

Stars

23 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages