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.
- 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
This project is plain HTML, JavaScript (ES modules), and SCSS — no bundler.
- Install pnpm.
- Run
pnpm installto install dev dependencies. - Run
pnpm devto watch and compile the SCSS files (orpnpm buildfor a one-off build). - Open
index.htmlwith the Live Server extension.
| 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 |
Pure, DOM-free logic lives in src/core/core.js and is
covered by Vitest tests in tests/. Run them with:
pnpm test