Convert TSV to AsciiDoc

Drag and drop files here or click to select.
Max file size 100mb.
Uploading progress:

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
  • Tab-delimited rows and columns
  • Text, numbers, dates, and booleans
  • No quoting needed for most data
  • Clipboard-native from Excel/Sheets
  • Multi-million row datasets
  • Bioinformatics standard (BED, GFF, VCF)
  • Document titles, sections, and TOC
  • Tables with spanning and alignment
  • Code blocks with syntax highlighting
  • Admonitions (NOTE, TIP, WARNING)
  • Cross-references and bibliography
  • Include directives for modular docs
  • Conditional content and variables
  • Images, diagrams, and multimedia
Advantages
  • Unambiguous delimiter (tabs rarely in data)
  • Native clipboard format for spreadsheets
  • Simpler and faster parsing than CSV
  • No quoting or escaping complexity
  • Ideal for scientific data exchange
  • Works with Unix tools (cut, awk, sort)
  • Complete document authoring language
  • Richer table features than Markdown
  • Multi-format output (HTML, PDF, EPUB)
  • Extensible via custom macros
  • Version control friendly (plain text)
  • GitHub and GitLab native rendering
  • Professional publishing toolchain
Disadvantages
  • No formatting or styling capabilities
  • Everything is stored as plain text
  • Tabs can be invisible in text editors
  • No support for multiple sheets
  • No metadata or schema definition
  • Requires Asciidoctor to process
  • Steeper learning curve than Markdown
  • Smaller community than Markdown
  • Complex table syntax for advanced use
  • Not designed for raw data storage
Common Uses
  • Genomic and bioinformatics data
  • Spreadsheet clipboard operations
  • Database bulk export/import
  • Scientific instrument output
  • Statistical software data exchange
  • Technical documentation and books
  • API reference documentation
  • Software release notes
  • Knowledge bases and wikis
  • Specification and standard documents
  • Online help systems
Best For
  • Quick data transfer via clipboard
  • Scientific and research datasets
  • Tabular data without special chars
  • Unix command-line data processing
  • Comprehensive technical documentation
  • Multi-format publishing workflows
  • Data-rich reports and specifications
  • Version-controlled documentation
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.