Go to Sign up
Note: Your files never leave your device. We don't upload, transfer, or store your data.
reStructuredText (reST) is a lightweight text markup language designed for technical documentation. Created by David Goodger as part of the docutils project, reST is the standard markup language for:
| Platform / Tool | Use Case |
|---|---|
| Sphinx | Python documentation generator — the official Python docs, Django docs, and thousands of projects use Sphinx + reST |
| Read the Docs | Documentation hosting platform — renders Sphinx/reST projects |
| docutils | The reference parser for reST — converts .rst files to HTML, LaTeX, and other formats |
| PEP (Python Enhancement Proposals) | PEP documents are written in reST |
| PyPI package descriptions | Long descriptions on the Python Package Index support reST |
reST supports two table syntaxes for representing tabular data: grid tables and simple tables.
JSON (JavaScript Object Notation) is a lightweight data-interchange format defined by RFC 8259. It represents structured data as arrays and key-value objects. APIs, databases, and configuration files output JSON.
Grid tables use a full set of ASCII drawing characters to create borders, column separators, and row separators.
+------------+------+--------------------+
| language | year | creator |
+============+======+====================+
| Python | 1991 | Guido van Rossum |
+------------+------+--------------------+
| JavaScript | 1995 | Brendan Eich |
+------------+------+--------------------+
| Go | 2009 | Robert Griesemer |
+------------+------+--------------------+
Characters used: + (corners/intersections), - (horizontal), = (header separator), | (vertical).
Simple tables use = characters for top/bottom borders and header separators. No vertical bars or + intersections.
============ ====== ====================
language year creator
============ ====== ====================
Python 1991 Guido van Rossum
JavaScript 1995 Brendan Eich
Go 2009 Robert Griesemer
============ ====== ====================
Characters used: = only. Column width is determined by the widest cell in each column.
| Feature | Grid Table | Simple Table |
|---|---|---|
| Visual borders | Full box-drawing with +, -, ` | ` |
| Column spans | Supported | Not supported |
| Row spans | Supported | Not supported |
| Nested tables | Supported | Not supported |
| Readability in source | High — explicit borders | Moderate — relies on spacing |
| Complexity to write | Higher | Lower |
| Sphinx compatibility | Full | Full |
| Recommended for | Complex tables, cells with varying widths | Simple data tables, quick formatting |
| Use Case | Benefit |
|---|---|
| Sphinx documentation | Embed tabular data in .rst documentation files |
| Python project docs | Add tables to Python package documentation on Read the Docs |
| PEP proposals | Format tabular data in Python Enhancement Proposals |
| Technical writing | Create tables for API docs, parameter references, and comparison tables |
| docutils pipelines | Generate .rst files from JSON data sources for automated documentation |
| Read the Docs projects | Populate documentation tables from structured data |
File Upload: Drag and drop or select a .json file.
Code Editor: Paste or type raw JSON with syntax highlighting and real-time validation.
| Style | Description | Output Format |
|---|---|---|
| reStructuredText Grid | Full ASCII grid with +, -, =, ` | ` characters |
| reStructuredText Simple | Minimal = delimiters for top/bottom/header only | Lightweight tables without cell borders |
Control how text is aligned within table cells:
| Alignment | Grid Table Marker | Simple Table Behavior |
|---|---|---|
| Left | Default — no marker | Default — left-aligned |
| Center | Spaces padded equally on both sides | Spaces padded equally on both sides |
| Right | Spaces padded on the left | Spaces padded on the left |
When enabled, the tool adds separator lines between every data row (not just between header and body). This creates a fully gridded table where each cell is visually distinct.
Row Separators Off (Grid):
+----------+--------+
| name | role |
+==========+========+
| Alice | Eng |
| Bob | Design |
+----------+--------+
Row Separators On (Grid):
+----------+--------+
| name | role |
+==========+========+
| Alice | Eng |
+----------+--------+
| Bob | Design |
+----------+--------+
All processing runs entirely in your browser. No data is uploaded to any server.
Choose one of two input methods:
Upload a file: Click "Choose File" and select a .json file, or drag it into the upload area.
Paste data: Click "Enter Data" to switch to the code editor. Paste your JSON array. A green "Valid JSON" badge confirms correct formatting.
Use the Properties panel on the right:
Border Style: Select "reStructuredText Grid" or "reStructuredText Simple".
Text Alignment: Choose Left, Center, or Right.
Row Separators: Toggle on to add separator lines between every data row.
Click Convert. The reStructuredText table output appears in the "Output Data" panel.
Click Copy to Clipboard to paste into your .rst file.
Premium users can click Download File to save the output.
[
{"language": "Python", "year": 1991, "creator": "Guido van Rossum"},
{"language": "JavaScript", "year": 1995, "creator": "Brendan Eich"},
{"language": "Go", "year": 2009, "creator": "Robert Griesemer"}
]
+------------+------+--------------------+
| language | year | creator |
+============+======+====================+
| Python | 1991 | Guido van Rossum |
+------------+------+--------------------+
| JavaScript | 1995 | Brendan Eich |
+------------+------+--------------------+
| Go | 2009 | Robert Griesemer |
+------------+------+--------------------+
============ ====== ====================
language year creator
============ ====== ====================
Python 1991 Guido van Rossum
JavaScript 1995 Brendan Eich
Go 2009 Robert Griesemer
============ ====== ====================
+------------+------+--------------------+
| language | year | creator |
+============+======+====================+
| Python | 1991 | Guido van Rossum |
+------------+------+--------------------+
| JavaScript | 1995 | Brendan Eich |
+------------+------+--------------------+
| Go | 2009 | Robert Griesemer |
+------------+------+--------------------+
JSON arrays of objects (most common): [{"key": "value"}, ...]
JSON arrays of arrays: [["value1", "value2"], ...]
Nested JSON objects (flattened to dot-notation keys)
No. All conversion happens locally in your browser using JavaScript. Your data never leaves your device.
reStructuredText (reST) is a lightweight markup language for technical documentation. It is the standard markup for Sphinx, the Python documentation generator, and is used by Python Enhancement Proposals (PEPs), Read the Docs, and thousands of open-source projects.
Grid tables use +, -, =, and | characters to draw full borders around every cell. They support column spans, row spans, and nested tables. Simple tables use only = characters for top/bottom borders and header separators — they are easier to write but do not support spanning or nesting.
Yes. Both grid and simple table formats are fully supported by Sphinx and docutils. Paste the generated table directly into any .rst file.
When enabled, it adds separator lines between every data row in grid tables, making each cell visually distinct. Without it, only the header separator (===) is shown.
Left (default), Center, and Right. Alignment is applied by padding cell content with spaces.
Yes. The tool is responsive and works on smartphones and tablets.
The tool processes data entirely in your browser. Files up to 10 MB typically convert without issues on modern hardware.
reST grid tables support column spans, row spans, and nested tables — Markdown tables do not. For complex documentation, grid tables are more capable. For simple data, both work equivalently.