Convert VCF Variants to TSV

Paste VCF text and get a spreadsheet-friendly TSV with fixed variant columns, exploded INFO keys, and optional per-sample genotype fields.

Try:
TSV output

About this tool

VCF files are compact for variant callers, but awkward in spreadsheets: the fixed columns are followed by semicolon-delimited INFO annotations and, often, colon-delimited FORMAT values for each sample. This tool turns those records into tidy TSV so you can inspect, filter, or join variants with ordinary table tools.

The output always starts with CHROM, POS, ID, REF, ALT, QUAL, and FILTER. When enabled, INFO fields are expanded into one column per key. Sample FORMAT values can be written in long layout (one row per variant × sample with a SAMPLE column) or wide layout (one row per variant with columns such as NA001_GT and NA001_DP).

Worked example

Paste this VCF:

##fileformat=VCFv4.2
#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	NA001	NA002
chr1	100	rs1	A	G	50	PASS	DP=30;AF=0.5	GT:DP	0/1:20	1/1:10

With the default long layout, the TSV contains two data rows, one for NA001 and one for NA002, with INFO columns DP and AF plus FORMAT columns GT and DP.

Controls

Limits and edge cases

This is a table flattener, not a genomic normalizer. It does not split multi-allelic ALT values, left-align variants, query reference FASTA files, parse compressed .vcf.gz, or validate VEP/ANN subfield semantics. Convert compressed files to text first and paste a representative VCF section. Values are made TSV-safe by replacing embedded tabs/newlines with spaces.

FAQ

Does this support multi-sample VCF files?

Yes. If the #CHROM header has sample names after FORMAT, long layout emits one row per sample per variant, while wide layout creates <sample>_<FORMATKEY> columns for each discovered FORMAT key.

What happens to INFO flags such as DB?

A bare INFO flag with no equals sign is emitted as true when present. If it is absent on another record, the configured missing-value placeholder is used.

Can I keep only a few INFO fields?

Yes. Put a comma-separated list such as DP,AF,AC in INFO keys to keep. The output columns follow that order and missing keys get the configured placeholder.

Does this replace bcftools or VCF normalization?

No. Use specialized bioinformatics tools for normalization, reference lookups, compressed VCF indexing, and annotation interpretation. This tool focuses on deterministic text flattening into TSV inside the browser.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool genomic-vcf-to-tsv "##fileformat=VCFv4.2
#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	NA001
chr1	100	rs1	A	G	50	PASS	DP=30;AF=0.5	GT:DP	0/1:20"

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/genomic-vcf-to-tsv/?input=%23%23fileformat%3DVCFv4.2%0A%23CHROM%09POS%09ID%09REF%09ALT%09QUAL%09FILTER%09INFO%09FORMAT%09NA001%0Achr1%09100%09rs1%09A%09G%0950%09PASS%09DP%3D30%3BAF%3D0.5%09GT%3ADP%090%2F1%3A20&layout=long&include_info=true&include_samples=true&info_fields=DP%2CAF&pass_only=true&prefix_info=true&missing=.&header=true

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.