How to Convert a Whole-Genome VCF to AncestryDNA Format Free
Drop a whole-genome VCF on the free browser converter, choose AncestryDNA, and get a five-column SNP file without uploading your DNA.
Drop a whole-genome .vcf or .vcf.gz on the free converter at https://healthosx.com/dna/convert, choose AncestryDNA, and you get a text file with five columns: rsid, chromosome, position, allele1, allele2. The conversion runs in your browser and the file is never uploaded. Rows that survive are single-nucleotide variants only, with coordinates taken from your VCF unless you move GRCh38 to GRCh37.
How do I convert my whole genome VCF to AncestryDNA format?
Open the free converter at https://healthosx.com/dna/convert and drop the VCF. No account is needed. It reads .vcf and .vcf.gz, including BGZF files written by bcftools and GATK. Choose AncestryDNA as the output layout and download the result as .txt or .zip.
If the VCF has more than one sample, extract yours first with bcftools view -s SAMPLE. An AncestryDNA-style file describes one person. A VCF that is still zipped works as it is.
The converter copies genotypes. It never changes a call except when GRCh38-to-GRCh37 liftover flips the strand, never guesses a missing rsID unless position and reference letter both match a known SNP, and never turns an indel into a SNP.
Which rows are kept and which are skipped
AncestryDNA raw data is a SNP table. The converter decides, row by row, what can be written.
Kept:
- Single-nucleotide variants on chromosomes 1-22, X, Y or MT.
- Rows with an rsID in the VCF's ID column.
- Rows without an rsID that match a known SNP site by position and reference base.
- Rows with a call or an explicit no-call that can be written as two allele columns.
- For an all-sites VCF or gVCF, reference-matching positions are kept where the VCF actually lists them.
Skipped and counted:
- Insertions and deletions, because AncestryDNA files hold single letters.
- Structural variants.
- Rows the variant caller flagged as unreliable, when that filter is present and read by the converter.
- Off-chromosome contigs.
- Rows without an rsID that do not match a known site.
This is why a whole-genome VCF with 3 to 5 million variants can produce a few million AncestryDNA rows. The missing rows are not errors; they are variants that do not fit the format.
What happens if my VCF has no rsIDs?
This is the common failure with raw Dante Labs or Sequencing.com output. An AncestryDNA file is keyed by rsID, so the converter cannot just copy a blank ID.
The converter keeps a list of 2.17 million known SNP sites. For a VCF row without an rsID, it reads the position and the reference base. If both match a site on that list, it attaches the rsID and writes the row. If not, the row is left out and counted.
So an unannotated VCF is not automatically rejected for AncestryDNA output. But you will get fewer rows than a dbSNP-annotated VCF, because only known sites can be named. If you want the full set, annotate first with bcftools annotate -c ID and a dbSNP file on the same build.
Genome build: GRCh37 vs GRCh38
AncestryDNA's own files are on GRCh37. If your VCF is already GRCh37, positions are copied unchanged.
If your VCF is on GRCh38, the converter can move positions to GRCh37 before writing the chip layout. It uses Ensembl's chain in your browser, flips letters where the chain crosses strands, and leaves out positions that cannot be placed. It does not lift GRCh37 to GRCh38 for this output.
If a downstream tool looks variants up by rsID, the build matters less. If it matches by chromosome and position, send it GRCh37.
Is my genome uploaded during the conversion?
No. The page reads your file using the browser's own file and streaming APIs. The conversion and the download are built on your device. The site counts that a conversion ran, the two formats, and the outcome. It never records the file, its name, or any genotype.
What the output looks like
The first line says the file was converted, so nobody mistakes it for an original AncestryDNA export. Each subsequent row has rsid, chromosome, position, and two allele columns. A no-call stays a no-call in the output's own notation.
For the conversion itself, use https://healthosx.com/dna/convert. To read the same file as a full report, open the free report at https://healthosx.com/dna and see your variants interpreted for ancestry, traits and medication genes.
New to raw DNA files? Start with the full guide: How to Download & Analyze Your 23andMe Raw Data Free
Written by
HealthOS Research