@simuratli/react-json-csv-converter
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 โ€ข Public โ€ข Published

๐Ÿ“ฆ @simuratli/react-json-csv-converter

A lightweight and customizable React component that enables users to download JSON data as a CSV file with a single button click.

๐Ÿš€ Features

  • ๐Ÿง  Auto-detects headers from your JSON data.
  • ๐ŸŽฏ Supports custom headers with label/key mapping.
  • ๐Ÿ’ก Handles special characters in CSV (e.g., commas, quotes, newlines).
  • โš›๏ธ Fully typed with TypeScript.
  • ๐ŸŽจ Accepts any button props (className, disabled, etc.) for customization.

๐Ÿ“ฆ Installation

npm install @simuratli/react-json-csv-converter

or

yarn add @simuratli/react-json-csv-converter

โœจ Usage

1. Auto-detect headers from JSON:

import { JsonToCsvDownload } from '@simuratli/react-json-csv-converter';

const data = [
  { id: 1, name: 'Alice', age: 30 },
  { id: 2, name: 'Bob', age: 25 }
];

<JsonToCsvDownload data={data} filename="users.csv">
  Export Users
</JsonToCsvDownload>;

2. With custom headers (label + key):

import { JsonToCsvDownload } from '@simuratli/react-json-csv-converter';

const data = [
  { id: 1, name: 'Alice', age: 30 },
  { id: 2, name: 'Bob', age: 25 }
];

const headers = [
  { label: 'User ID', key: 'id' },
  { label: 'Full Name', key: 'name' },
  { label: 'User Age', key: 'age' }
];

<JsonToCsvDownload
  data={data}
  headers={headers}
  filename="custom_users.csv"
  className="my-custom-button"
>
  Download CSV
</JsonToCsvDownload>;

๐Ÿ“˜ Props

Prop Type Description
data object[] Required. The JSON array to convert and download as CSV.
headers { label: string, key: string }[] | null Optional. Custom headers for CSV: display label and extract from key.
filename string Optional. Name of the downloaded CSV file. Default is data.csv.
className string Optional. Custom CSS classes for the button.
children ReactNode Optional. Button label/content. Default is "Download CSV".
onDownload () => void Optional. Callback after successful CSV download.
...props ButtonHTMLAttributes<HTMLButtonElement> Optional. All standard <button> props supported.

๐Ÿงช Development

npm run dev

๐Ÿ“„ License

MIT ยฉ Your Name or GitHub Handle

Package Sidebar

Install

npm i @simuratli/react-json-csv-converter

Weekly Downloads

1

Version

1.1.1

License

MIT

Unpacked Size

137 kB

Total Files

12

Last publish

Collaborators

  • simuratli