Markdown To JSONLines

Login

Email
Password

Don't have an account yet?

Go to Sign up

Input Data
Sample {{ showCoderInput ? 'Choose File' : 'Enter Data' }}

                                
Valid Data Invalid Data — Cannot parse as table
Online Table Editor
Row Col Row Col
Transpose Clear Delete Empty Deduplicate
ABC abc Abc
Replace
First Row as Header
{{ displayRows.length }} rows x {{ displayHeaders.length }} columns{{ firstRowAsHeader ? ' (1 header)' : '' }} {{ selectedRows.length > 0 ? selectedRows.length + ' selected' : '' }}
Output Data ({{ outputFormatDisplayName }})
{{ copied ? 'Copied!' : 'Copy to Clipboard' }} Download File
Properties
Convert Markdown Table to JSONLines online — paste, edit, and download.

Parse JSON
Data Format
Convert Restart
Insert Row Below
Insert Row Above
Insert Column Right
Insert Column Left
Delete Row {{ contextMenu.row + 1 }}
Delete Column {{ contextMenu.col + 1 }}
Clear Cell
Clear Row
Case sensitive Use regex Cancel Replace All

What Is the Markdown To JSONLines Converter?

The Markdown To JSONLines Converter on A.Tools transforms Markdown pipe-delimited tables into JSONLines (JSONL) format — one JSON object per line. All processing runs in your browser. No data leaves your device.

JSONLines is the standard format for data pipelines, log processing, LLM training datasets, BigQuery imports, and streaming APIs. Unlike regular JSON which wraps records in an array, JSONLines writes each record as a separate line — making it streamable, appendable, and resilient to partial reads.

How to Convert Markdown Tables to JSONLines?

Step 1: Provide Your Markdown Data

Click Enter Data to paste a Markdown table into the input area, or click Choose File to drag and drop a .md file. Press Sample to load example data.

Step 2: Edit in the Online Table Editor

Once parsed, an interactive spreadsheet appears. Use the toolbar to:

  • Add or delete rows and columns

  • Transpose the table (swap rows and columns)

  • Remove duplicate rows

  • Delete empty rows and columns

  • Change text case (UPPERCASE, lowercase, Capitalize)

  • Find and replace values — supports case-sensitive search and regex

  • Toggle First Row as Header to define field names

Right-click any cell for context-menu operations.

Step 3: Configure Settings

In the Properties panel:

SettingDefaultDescription
Parse JSONOffParse JSON strings in cells into actual JSON objects
Data FormatObjectOutput each row as a JSON object or a JSON array

Step 4: Export

Click Convert to generate JSONL output. Use Copy to Clipboard or Download File to save as a .jsonl file.

Key Features

  • Two input modes: Paste Markdown directly or upload a .md file via drag-and-drop

  • Full table editor: Edit, transpose, deduplicate, find-and-replace before converting

  • Object and Array formats: JSON objects with named fields or flat JSON arrays

  • Smart JSON parsing: Automatically parse embedded JSON strings in cells into nested objects

  • Client-side processing: Files never leave the browser — zero data upload

  • Undo/Redo: Full edit history with revert support

  • Context menu: Right-click for quick row/column/cell operations

  • Header toggle: Treat the first row as field names or regular data

  • Validation indicator: Real-time feedback on input validity

What the Output Looks Like

Given this Markdown input:

| name  | age | city        |
|-------|-----|-------------|
| Alice | 30  | New York    |
| Bob   | 25  | Los Angeles |

Object format (default)

Each row becomes a JSON object with keys from the header row:

{"name":"Alice","age":"30","city":"New York"}
{"name":"Bob","age":"25","city":"Los Angeles"}

Array format

Each row becomes a flat JSON array:

["Alice","30","New York"]
["Bob","25","Los Angeles"]

With Parse JSON enabled

If a cell contains a valid JSON string like {"lat":40.7,"lng":-74.0}, it is parsed into a nested object rather than being treated as a plain string:

{"name":"Alice","age":"30","location":{"lat":40.7,"lng":-74.0}}
{"name":"Bob","age":"25","location":{"lat":34.0,"lng":-118.2}}

Without Parse JSON, the same cell would be output as an escaped string:

{"name":"Alice","age":"30","location":"{\"lat\":40.7,\"lng\":-74.0}"}

Understanding JSONLines (JSONL / NDJSON)

What is JSONLines?

JSONLines (also called JSONL, NDJSON, or Newline-Delimited JSON) is a format where each line is a valid JSON value. There is no wrapping array, no commas between records, and each line is independently parseable.

JSONLines vs JSON

FeatureJSON ArrayJSONLines
Structure[obj1, obj2, obj3]obj1\nobj2\nobj3
StreamingMust read entire fileRead line by line
AppendingRewrite entire arrayAppend new lines
CorruptionOne error breaks allOther lines unaffected
MemoryLoad all into memoryProcess one at a time
File extension.json.jsonl or .ndjson
MIME typeapplication/jsonapplication/x-ndjson

Why JSONLines matters

JSON arrays require loading the entire file to parse. With 1 million records, you must read all 1 million before processing the first one. JSONLines lets you read and process one record at a time — critical for:

  • Streaming pipelines: Kafka, AWS Kinesis, Google Pub/Sub

  • Big data: BigQuery, Snowflake, Databricks

  • LLM training: OpenAI fine-tuning, Hugging Face datasets

  • Log aggregation: Elasticsearch, Splunk, Datadog

  • Database imports: MongoDB mongoimport, PostgreSQL COPY

Official specification: jsonlines.org

Settings: Parse JSON and Data Format

Parse JSON

When enabled, the tool inspects each cell value. If a cell contains a valid JSON string (object, array, number, boolean, or null), it is parsed into the corresponding JSON type in the output.

Cell ValueParse JSON OffParse JSON On
42"42" (string)42 (number)
true"true" (string)true (boolean)
null"null" (string)null (null)
{"a":1}"{\"a\":1}" (escaped string){"a":1} (nested object)
[1,2,3]"[1,2,3]" (escaped string)[1,2,3] (nested array)
hello"hello" (string)"hello" (string)

Use Parse JSON when your Markdown table contains embedded JSON objects, arrays, or typed values that should be preserved as structured data rather than flat strings.

Data Format: Object vs Array

Object — Each row becomes {"col1":"val1","col2":"val2"}. Requires "First Row as Header" to provide key names.

Array — Each row becomes ["val1","val2","val3"]. More compact but loses field names.

Use Object for structured data (recommended). Use Array for positional data or when headers are not available.

Use Cases: When to Convert Markdown to JSONLines

ScenarioWhy JSONLines
LLM fine-tuningConvert example datasets into JSONL for OpenAI, Anthropic, or Hugging Face
BigQuery importsLoad data via bq load --source_format=NEWLINE_DELIMITED_JSON
Data pipelinesStream records through Kafka, Kinesis, or Pub/Sub
MongoDB importUse mongoimport --type json with JSONL files
Log processingConvert structured data into NDJSON for Elasticsearch or Splunk
ETL workflowsTransform Markdown documentation into pipeline-ready data
Machine learningCreate training datasets in the standard JSONL format
API mock dataGenerate NDJSON response files for testing
Database seedingPopulate NoSQL databases with JSONL records

OpenAI Fine-Tuning Example

OpenAI fine-tuning requires JSONL with prompt and completion fields:

{"prompt":"What is the capital of France?","completion":" Paris"}
{"prompt":"What is 2+2?","completion":" 4"}
{"prompt":"Who wrote Hamlet?","completion":" William Shakespeare"}

BigQuery Import Example

bq load --source_format=NEWLINE_DELIMITED_JSON \
 my_dataset.my_table data.jsonl

Python Processing Example

import json

with open("data.jsonl") as f:
   for line in f:
       record = json.loads(line)
       print(record["name"], record["age"])

Node.js Streaming Example

const fs = require("fs");
const readline = require("readline");

const rl = readline.createInterface({
 input: fs.createReadStream("data.jsonl"),
});

rl.on("line", (line) => {
 const record = JSON.parse(line);
 console.log(record.name, record.age);
});

Frequently Asked Questions (FAQ)

  • Does this tool upload my files to a server?

    No. All file parsing and conversion runs in your browser using JavaScript. Your data stays on your device. A.Tools never receives, stores, or transmits your file contents.

  • What Markdown table formats are supported?

    The tool supports standard pipe-delimited Markdown tables following the CommonMark specification, including tables with or without leading/trailing pipes and alignment indicators.

  • What is JSONLines format?

    JSONLines (JSONL / NDJSON) is a format where each line of a file is a valid JSON object. Unlike JSON arrays, each line is independently parseable — making it ideal for streaming, big data imports, and LLM training data.

  • What is the difference between Object and Array format?

    Object format outputs {"field":"value"} with named keys from the header row. Array format outputs ["value1","value2"] without field names. Object format is recommended for most use cases.

  • What does Parse JSON do?

    When enabled, the tool detects JSON strings in cells and parses them into actual JSON types (numbers, booleans, null, nested objects, arrays). Without it, all values remain as strings.

  • What file extension should I use?

    Use .jsonl or .ndjson. Both are standard extensions for JSONLines format.

  • Can I edit the table before converting?

    Yes. After parsing, the full table editor lets you modify cells, add or remove rows and columns, transpose, deduplicate, change text case, and find-and-replace values.

  • Is there a file size limit?

    Processing is client-side, so the limit depends on your browser's memory. Tables with tens of thousands of rows work reliably on modern browsers.

Featured Tools

Featured tools that you might find useful.

Popular Tools

List of popular tools that users love and frequently use.

New Tools

The latest tools added to our collection, designed for you.

Topics

The tools grouped by topics to quickly find what you need.
Free online Excel to JSON converter. Transform XLSX, XLS, XLSM files into JSON arrays, objects, or keyed formats instantly in your browser — no upload, 100% private.

Excel To JSON

Free online Excel to JSON converter. Transform XLSX, XLS, XLSM files into JSON arrays, objects, or keyed formats instantly in your browser — no upload, 100% private.
Free Excel to CSV converter. Convert XLSX, XLS, XLSM to CSV instantly in your browser. No upload, 100% private. Edit, transpose, deduplicate before exporting.

Excel To CSV

Free Excel to CSV converter. Convert XLSX, XLS, XLSM to CSV instantly in your browser. No upload, 100% private. Edit, transpose, deduplicate before exporting.
Free online Excel to SQL converter. Generate CREATE TABLE and INSERT statements from spreadsheets for MySQL, PostgreSQL, SQLite, and SQL Server. Supports batch insert, primary keys, and type inference.

Excel To SQL

Free online Excel to SQL converter. Generate CREATE TABLE and INSERT statements from spreadsheets for MySQL, PostgreSQL, SQLite, and SQL Server. Supports batch insert, primary keys, and type inference.
Free online Excel to ASCII table converter with 10 border styles (MySQL, Unicode, reStructuredText, and more). Add code comment wrappers in 8 languages. Supports text alignment. Client-side processing.

Excel To ASCII Table

Free online Excel to ASCII table converter with 10 border styles (MySQL, Unicode, reStructuredText, and more). Add code comment wrappers in 8 languages. Supports text alignment. Client-side processing.