Go to Sign up
Note: Your files never leave your device. We don't upload, transfer, or store your data.
Jira is a project management and issue tracking platform by Atlassian, used by software teams, IT departments, and business teams worldwide. It supports agile boards, sprint planning, bug tracking, and workflow automation.
Jira uses a wiki-style markup language for formatting text in issue descriptions, comments, and other text fields. This markup supports tables, headings, lists, bold, italic, code blocks, links, and more.
Jira tables use pipe characters (|) to define cells:
With header row:
||Name||Age||City||
|Alice|30|New York|
|Bob|25|London|
|Charlie|35|Tokyo|
Without header row:
|Name|Age|City|
|Alice|30|New York|
|Bob|25|London|
|Charlie|35|Tokyo|
| Element | Syntax | Description |
|---|---|---|
| Header cell | ` | |
| Data cell | ` | text |
| Row separator | Line break | Each line is one row |
| Table boundary | First and last ` | ` per line |
| Location | Supported | Notes |
|---|---|---|
| Issue descriptions | Yes | Primary use case |
| Issue comments | Yes | Tables in comments |
| Confluence pages | Partially | Confluence has its own editor but supports wiki markup in some modes |
| Jira Service Management | Yes | In request descriptions and internal comments |
| Custom fields (text) | Yes | Any wiki-renderable text field |
| Epic descriptions | Yes | Same as issue descriptions |
| Subtask descriptions | Yes | Same as issue descriptions |
| Pull request descriptions | Depends | Bitbucket supports similar markup |
| Use Case | Description |
|---|---|
| Bug reports | Paste structured test results into Jira bug descriptions |
| Sprint reviews | Embed sprint metrics in Jira epic descriptions |
| Test results | Include pass/fail data in testing tickets |
| API responses | Format JSON API output as readable tables in Jira comments |
| Data comparison | Present before/after data in change request descriptions |
| Meeting notes | Convert structured meeting data to tables in Jira |
| Status reports | Embed status tables in Jira epic or story descriptions |
| Configuration docs | Document settings as tables in Jira project pages |
File Upload: Drag and drop or select a .json file.
Code Editor: Paste or type raw JSON with syntax highlighting and real-time validation.
Controls whether the first data row is rendered as a header row using double pipes (||).
Enabled (header row):
||name||age||city||
|Alice|30|New York|
|Bob|25|London|
Disabled (no header):
|name|age|city|
|Alice|30|New York|
|Bob|25|London|
Enable this for most cases — Jira tables look best with a distinct header row. Disable when all rows are data rows with no column labels.
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 "Valid JSON" badge confirms correct formatting.
Important: The tool expects a JSON array of objects (one object per table row). Object keys become column headers.
Use the Properties panel on the right:
First Row as Header: Enable to use double pipes (||) for the header row.
Click Convert. The Jira markup appears in the "Output Data" panel.
Click Copy to Clipboard.
Open a Jira issue, click in the description or comment field.
Paste — Jira renders the markup as a formatted table.
Input JSON:
[
{"test_case": "Login - valid credentials", "status": "PASS", "duration_ms": 245},
{"test_case": "Login - invalid password", "status": "PASS", "duration_ms": 189},
{"test_case": "Login - SQL injection", "status": "FAIL", "duration_ms": 3500},
{"test_case": "Login - expired token", "status": "PASS", "duration_ms": 312},
{"test_case": "Login - rate limiting", "status": "FAIL", "duration_ms": 5200}
]
Configuration: First Row as Header: On
Output:
||test_case||status||duration_ms||
|Login - valid credentials|PASS|245|
|Login - invalid password|PASS|189|
|Login - SQL injection|FAIL|3500|
|Login - expired token|PASS|312|
|Login - rate limiting|FAIL|5200|
Input JSON:
[
{"story": "PROJ-101", "points": 5, "assignee": "Alice", "status": "Done"},
{"story": "PROJ-102", "points": 3, "assignee": "Bob", "status": "In Progress"},
{"story": "PROJ-103", "points": 8, "assignee": "Charlie", "status": "Done"},
{"story": "PROJ-104", "points": 2, "assignee": "Alice", "status": "To Do"}
]
Output:
||story||points||assignee||status||
|PROJ-101|5|Alice|Done|
|PROJ-102|3|Bob|In Progress|
|PROJ-103|8|Charlie|Done|
|PROJ-104|2|Alice|To Do|
Input JSON:
[
{"endpoint": "/api/users", "method": "GET", "status": 200, "latency": "45ms"},
{"endpoint": "/api/users", "method": "POST", "status": 201, "latency": "120ms"},
{"endpoint": "/api/orders", "method": "GET", "status": 200, "latency": "89ms"},
{"endpoint": "/api/orders", "method": "DELETE", "status": 403, "latency": "15ms"}
]
Output (no header):
|endpoint|method|status|latency|
|/api/users|GET|200|45ms|
|/api/users|POST|201|120ms|
|/api/orders|GET|200|89ms|
|/api/orders|DELETE|403|15ms|
Beyond tables, Jira supports other formatting:
| Formatting | Markup | Rendered |
|---|---|---|
| Bold | *bold* | bold |
| Italic | _italic_ | italic |
| Code | {{code}} | code |
| Heading 1 | h1. Heading | Large heading |
| Heading 2 | h2. Heading | Medium heading |
| Bullet list | * item | • item |
| Numbered list | # item | 1. item |
| Link | [text|url] | Clickable link |
| Horizontal rule | ---- | Horizontal line |
| Blockquote | bq. text | Quoted text |
| Code block | {code}...{code} | Monospace block |
| Tip | Details |
|---|---|
| Use header rows | Double-pipe headers make tables scannable |
| Keep data concise | Long cell values stretch the table horizontally |
| Avoid special characters in cells | Pipes (|) in cell content break table layout |
| Use bullet lists inside cells | Jira supports nested formatting in table cells |
| Preview before saving | Jira renders markup in real-time — verify before submitting |
| Number formatting | Format numbers in JSON before converting (Jira treats all cells as text) |
No. All conversion happens locally in your browser using JavaScript. Your data never leaves your device.
Jira wiki markup is a text formatting language used in Jira issue descriptions, comments, and text fields. Tables use pipe characters — || for headers and | for data cells.
Paste the generated markup into any Jira text field that supports wiki rendering: issue descriptions, comments, epic descriptions, and custom text fields. Confluence pages also support similar markup in wiki mode.
Double pipes (||) create header cells with bold formatting. Single pipes (|) create regular data cells. The "First Row as Header" option controls whether the first row uses double pipes.
A JSON array of objects: [{"key": "value"}, ...]. Each object becomes a table row, and object keys become column headers.
Confluence uses a similar wiki markup syntax. The output should work in Confluence pages that accept wiki markup input, though Confluence's new editor may require different formatting.
Pipes (|) in cell data break Jira table structure. Replace pipes in your JSON data before converting, or manually escape them in the output.
The tool processes data entirely in your browser. Files up to 10 MB typically convert without issues on modern hardware.
Yes. The tool is responsive and works on smartphones and tablets.