Convert TSV to AsciiDoc
Max file size 100mb.
TSV vs AsciiDoc Format Comparison
| Aspect | TSV (Source Format) | AsciiDoc (Target Format) |
|---|---|---|
| Format Overview |
TSV
Tab-Separated Values
Plain text format using tab characters as column delimiters. TSV is the default clipboard format when copying tabular data from spreadsheets. Its unambiguous delimiter makes it the preferred choice in bioinformatics, scientific computing, and data pipelines where commas frequently appear in field values. Tabular Data Scientific Standard |
AsciiDoc
AsciiDoc Document Format
A comprehensive lightweight markup language for authoring documentation, articles, and books. AsciiDoc provides rich semantic elements including tables, lists, admonitions, cross-references, and conditional content. It is processed by Asciidoctor to produce HTML, PDF, EPUB, DocBook, and man pages. Documentation Publishing |
| Technical Specifications |
Structure: Rows separated by newlines, columns by tabs
Delimiter: Horizontal tab (U+0009) Encoding: UTF-8, ASCII, Latin-1 Headers: Optional first row as column names MIME Type: text/tab-separated-values Extensions: .tsv, .tab |
Structure: Block-level and inline markup elements
Table Syntax: |=== delimited blocks with column specs Encoding: UTF-8 Processor: Asciidoctor (Ruby, JavaScript, Java) Extensions: .asciidoc, .adoc, .asc |
| Syntax Examples |
TSV uses tab characters between values (shown as spaces): ID Name Department Salary 101 Alice Engineering 95000 102 Bob Marketing 72000 103 Charlie Operations 68000 |
AsciiDoc supports rich document structure: = Employee Directory [cols="1,2,2,1", options="header"] |=== | ID | Name | Department | Salary | 101 | Alice | Engineering | 95000 | 102 | Bob | Marketing | 72000 | 103 | Charlie | Operations | 68000 |=== |
| Content Support |
|
|
| Advantages |
|
|
| Disadvantages |
|
|
| Common Uses |
|
|
| Best For |
|
|
| Version History |
Introduced: 1960s (mainframe era)
IANA Registration: text/tab-separated-values Status: Widely used, stable standard Key Adoption: Bioinformatics (1990s onward) |
Introduced: 2002 (Stuart Rackham)
Asciidoctor: 2013 (Ruby rewrite) Status: Active development Ecosystem: Asciidoctor, Antora, Spring Docs |
| Software Support |
Microsoft Excel: Full support (open/save as TSV)
Google Sheets: Full support (import/download) LibreOffice Calc: Full support Other: Python, R, pandas, Unix cut/awk/sort |
Asciidoctor: Full support (Ruby/JS/Java)
GitHub/GitLab: Native rendering IDEs: VS Code, IntelliJ, Atom with plugins Other: Antora, DocToolchain, Spring REST Docs |
Why Convert TSV to AsciiDoc?
Converting TSV files to AsciiDoc creates complete, publication-ready documents from raw tabular data. While TSV excels at storing and exchanging data between applications, AsciiDoc provides the rich semantic markup needed for professional documentation. This conversion is the bridge between data storage and data presentation, turning bare columns and rows into formatted, readable tables within a full document structure.
AsciiDoc goes beyond simple table formatting. When your TSV data is converted to AsciiDoc, you get a complete document that can include a title, a table of contents, and properly formatted tables with column width specifications and header rows. The resulting .asciidoc file can be further enriched with explanatory text, admonitions, and cross-references to create comprehensive reports.
This conversion path is particularly powerful for teams that use documentation-as-code workflows. Data analysts can export results as TSV, convert to AsciiDoc, and submit the documentation to a Git repository where it is version-controlled and reviewed alongside code. Asciidoctor then renders the final output in whatever format is needed -- HTML for the web, PDF for distribution, or EPUB for offline reading.
The TSV format's clean, unambiguous tab delimiter makes for especially reliable conversion. Unlike CSV files, which may require complex quoting rules for fields containing commas, TSV data parses predictably. Every tab character marks a column boundary, resulting in accurate column mapping in the AsciiDoc output every time.
Key Benefits of Converting TSV to AsciiDoc:
- Full Document Output: Creates a complete AsciiDoc document, not just a table snippet
- Reliable Parsing: Tab delimiters provide unambiguous column separation
- Publishing Pipeline: Output renders to HTML, PDF, EPUB, and DocBook via Asciidoctor
- Clipboard Support: Directly handles data pasted from Excel and Google Sheets
- Header Detection: Automatically formats the first row as a table header
- Version Control: Plain text output works perfectly with Git workflows
- Data Integrity: All values from the TSV are preserved in the output document
Practical Examples
Example 1: Research Dataset Summary
Input TSV file (study_results.tsv):
Subject Treatment Baseline Week_4 Improvement P001 Drug A 7.2 4.1 43% P002 Placebo 6.8 6.5 4.4% P003 Drug A 8.1 3.9 51.9%
Note: Columns are separated by tab characters in the actual file.
Output AsciiDoc file (study_results.asciidoc):
= Study Results [cols="1,1,1,1,1", options="header"] |=== | Subject | Treatment | Baseline | Week_4 | Improvement | P001 | Drug A | 7.2 | 4.1 | 43% | P002 | Placebo | 6.8 | 6.5 | 4.4% | P003 | Drug A | 8.1 | 3.9 | 51.9% |===
Example 2: Software Dependencies List
Input TSV file (dependencies.tsv):
Package Version License Status Django 4.2.7 BSD-3 Active Flask 3.0.0 BSD-3 Active FastAPI 0.104.1 MIT Active
Note: Columns are separated by tab characters in the actual file.
Output AsciiDoc file (dependencies.asciidoc):
= Software Dependencies [cols="2,1,1,1", options="header"] |=== | Package | Version | License | Status | Django | 4.2.7 | BSD-3 | Active | Flask | 3.0.0 | BSD-3 | Active | FastAPI | 0.104.1 | MIT | Active |===
Example 3: Network Configuration Inventory
Input TSV file (network.tsv):
Device IP_Address VLAN Location Role switch-01 10.0.1.1 100 Floor 1 Distribution switch-02 10.0.2.1 200 Floor 2 Access router-01 10.0.0.1 1 Server Room Core
Note: Columns are separated by tab characters in the actual file.
Output AsciiDoc file (network.asciidoc):
= Network Configuration [cols="1,1,1,1,1", options="header"] |=== | Device | IP_Address | VLAN | Location | Role | switch-01 | 10.0.1.1 | 100 | Floor 1 | Distribution | switch-02 | 10.0.2.1 | 200 | Floor 2 | Access | router-01 | 10.0.0.1 | 1 | Server Room | Core |===
Frequently Asked Questions (FAQ)
Q: What is the difference between ADOC and AsciiDoc file extensions?
A: Both .adoc and .asciidoc are valid extensions for AsciiDoc files. The .adoc extension is more commonly used as it is shorter and recommended by the Asciidoctor project. The .asciidoc extension is the original full-length extension. Both are processed identically by Asciidoctor and rendered the same way on GitHub and GitLab.
Q: How does TSV differ from CSV for data storage?
A: The primary difference is the delimiter: TSV uses tab characters while CSV uses commas. This distinction matters because commas frequently appear in text data (addresses, descriptions, names with suffixes), requiring CSV to use quoting mechanisms. Tab characters almost never appear in natural data, making TSV parsing simpler and more reliable. TSV is also the native clipboard format for spreadsheet applications.
Q: Will the converter create a full AsciiDoc document or just a table?
A: The converter generates an AsciiDoc document containing a properly formatted table with your TSV data. The output includes the table block with column specifications and header formatting. You can embed the output directly into a larger AsciiDoc document or use it as a standalone file that Asciidoctor can process into HTML, PDF, or other formats.
Q: Can I customize the column widths in the AsciiDoc output?
A: The converter generates default equal-width columns using the cols attribute. After conversion, you can easily modify the column specifications in the AsciiDoc source. For example, change [cols="1,1,1"] to [cols="3,1,2"] to make the first column three times wider than the second. AsciiDoc supports both proportional and absolute width definitions.
Q: What happens if my TSV has empty cells?
A: Empty cells (consecutive tab characters) are handled correctly. The converter preserves empty values in the AsciiDoc output, creating table cells with no content. This ensures that the column alignment and row structure of your original data are maintained in the formatted output.
Q: Can I use the AsciiDoc output in an Antora documentation site?
A: Yes. Antora, the documentation site generator for AsciiDoc, fully supports AsciiDoc tables. You can place the converted file in your Antora module's pages directory or use the include directive to incorporate the table into an existing page. The table will render correctly in the generated site with proper styling.
Q: How are numeric values handled during conversion?
A: All values are preserved as-is during conversion. Numbers, percentages, dates, and any other text content in TSV cells are transferred directly to the AsciiDoc table without modification. The converter does not perform any data type interpretation or formatting -- what you see in the TSV is exactly what appears in the AsciiDoc table cells.
Q: Does the converter handle TSV files with inconsistent column counts?
A: The converter handles TSV files where rows may have different numbers of tab-separated fields. Missing fields at the end of a row are treated as empty cells. However, for the best AsciiDoc output, it is recommended that all rows in your TSV file have the same number of columns to ensure the table renders correctly.