https://github.com/sumithemmadi/json-to-plain-text
json-to-plain-text is a lightweight npm package that converts JSON into a clean, human-readable plain-text.
https://github.com/sumithemmadi/json-to-plain-text
cli debugging format formatter human-readable javascript json json-to-plain-text json-to-text json-to-txt logger nodejs parse plain-text pretty-print test-format text typescript
Last synced: 7 days ago
JSON representation
json-to-plain-text is a lightweight npm package that converts JSON into a clean, human-readable plain-text.
- Host: GitHub
- URL: https://github.com/sumithemmadi/json-to-plain-text
- Owner: sumithemmadi
- License: mit
- Created: 2022-10-04T04:09:25.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-08-26T12:35:19.000Z (7 months ago)
- Last Synced: 2025-09-30T19:16:19.716Z (5 months ago)
- Topics: cli, debugging, format, formatter, human-readable, javascript, json, json-to-plain-text, json-to-text, json-to-txt, logger, nodejs, parse, plain-text, pretty-print, test-format, text, typescript
- Language: TypeScript
- Homepage: http://json-to-plain-text.js.org/
- Size: 213 KB
- Stars: 20
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# json-to-plain-text
[](https://www.npmjs.com/package/json-to-plain-text)
[](https://github.com/sumithemmadi/json-to-plain-text/stargazers)
[](https://www.npmjs.com/package/json-to-plain-text)
[](LICENSE)
[](https://github.com/sumithemmadi/json-to-plain-text)
[](https://github.com/sumithemmadi/json-to-plain-text/issues)
[](https://github.com/sponsors/sumithemmadi)
[](https://packagephobia.com/result?p=json-to-plain-text)
[](https://bundlephobia.com/package/json-to-plain-text@latest)
[](https://snyk.io/test/npm/json-to-plain-text)
---
## ๐ Overview
`json-to-plain-text` is a lightweight npm package that converts **JSON** into a clean, human-readable **plain-text**.
Think of it as `JSON.stringify()`, but prettier, friendlier, and tailored for **logs, debugging, and CLI output**.
> [!NOTE]
> From version **2.0.0+**, this package outputs plain text only.
> If you need **colored output**, please use [version 1.1.4](https://www.npmjs.com/package/json-to-plain-text/v/1.1.4) .
---
## โจ Features
- ๐น Convert JSON objects into easy-to-read plain text
- โก Tiny & fast (zero dependencies)
- ๐ Configurable separators, spacing, quotes, and array formatting
- โ
Great for **logs, debugging, reports, and CLI tools**
---
## ๐ Why use this?
Use `json-to-plain-text` when you need:
- ๐ **Readable logs** โ no more squinting at raw JSON
- ๐ฅ **CLI outputs** โ format objects neatly for the terminal
- ๐งช **Debugging helpers** โ quickly inspect nested objects
- ๐ **Reports/configs** โ human-friendly data printing
---
## ๐ Installation
```bash
npm install json-to-plain-text
```
---
## ๐ฆ Usage
```js
import { jsonToPlainText } from "json-to-plain-text";
```
---
## โ๏ธ API
```ts
jsonToPlainText(data: unknown, options?: Options): string
```
### Parameters
- **`data`** *(required)* โ JSON-like input or JavaScript object.
- **`options`** *(optional)* โ Customize the formatting.
| Option | Type | Default | Description |
|---------------------------|---------|---------|-------------|
| `separator` | string | `:` | Character used between keys and values. |
| `spacing` | boolean | `true` | Align keys with spacing before colons. |
| `squareBracketsForArray` | boolean | `false` | Display arrays inside `[]`. |
| `doubleQuotesForKeys` | boolean | `false` | Wrap object keys in double quotes. |
| `doubleQuotesForValues` | boolean | `false` | Wrap string values in double quotes. |
---
## ๐ก Example
```ts
import { jsonToPlainText, Options } from "json-to-plain-text";
const data = {
place_id: "173937105",
osm_type: "way",
lat: "17.861533866867224",
lon: "78.8081441896764",
address: {
city: "Hyderabad",
state: "Telangana",
country: "India",
},
distance: 2,
};
const options: Options = {
separator: ":",
spacing: true,
squareBracketsForArray: false,
doubleQuotesForKeys: false,
doubleQuotesForValues: false,
};
console.log(jsonToPlainText(data, options));
```
### โ
Output
```yaml
place_id : 173937105
osm_type : way
lat : 17.861533866867224
lon : 78.8081441896764
address :
city : Hyderabad
state : Telangana
country : India
distance : 2
```
---
## ๐ Support
If this project helps you, consider supporting my open-source work:
- [๐ SPONSOR ME ON GITHUB](https://github.com/sponsors/sumithemmadi?o=sd&sc=t)
A huge thanks to all sponsors for supporting my work!
---
## ๐ License
This project is licensed under the [MIT License](LICENSE).
---
## ๐จโ๐ป Author
- [Sumith Emmadi](https://github.com/sumithemmadi)