A raw DNA data file is a plain-text table with one line per position: an rsID, a chromosome, a position on build 37 and your two alleles, such as rs4988235 2 136608646 AG. It covers a few hundred thousand positions, not your whole genome. To read a line, look up the rsID in dbSNP or SNPedia, check the strand convention, and compare your genotype with the study's allele.
What the file is, and what it is not
Consumer tests do not sequence your genome. They run your sample over a genotyping chip that reads a fixed list of positions where people are known to differ, called single nucleotide polymorphisms (SNPs). The export is that list with your result at each position. Most files hold about 600,000 to 700,000 lines (Genetic Lifehacks, checked 14 October 2026); the human genome is roughly three billion base pairs, so the file covers about 0.02% of it.
Three things follow. A position that is not on the chip is simply absent: "my file does not contain rs123" means the chip did not test it, not that you lack the variant. The list differs between providers and between chip versions. And a chip read is a statistical call, so a small share of positions fail and are written as no-calls.
The file is yours to keep. Our guide to downloading raw DNA data from 23andMe, AncestryDNA and MyHeritage covers each provider; store the download somewhere encrypted before you open it anywhere.
The four columns
Every provider's file reduces to the same four pieces of information. Here is an excerpt in 23andMe's layout: tab-separated, comment lines starting with #, one line per SNP. The lines come from different places in a file (real files are sorted by chromosome and position) and the genotypes are illustrative.
# rsid chromosome position genotype
rs3094315 1 752566 AG
rs1801133 1 11856378 AG
rs4988235 2 136608646 AG
rs2187668 6 32605884 --
rs429358 19 45411941 TT
rs7412 19 45412079 CC
rsid. The Reference SNP cluster ID, a stable name assigned by dbSNP, the NIH variant database: rs4988235 means the same position in every file, paper and database. 23andMe files also contain markers with the company's own i prefix, such as i4001527, which SNPedia lists as the marker 23andMe uses for the Rh blood factor (SNPedia, checked 14 October 2026); these have no dbSNP entry.
chromosome. 1 to 22, then X, Y and MT (mitochondrial). AncestryDNA writes 23, 24, 25 and 26 for X, Y, the pseudoautosomal region and MT instead of letters.
position. The base-pair coordinate on the reference genome named in the file header. The number is only meaningful together with the build (see below).
genotype. Your two alleles at that position, one from each parent, in no particular order: AG and GA are the same genotype. Men have one copy of X and of Y, and everyone has one mitochondrial sequence, so those lines carry a single allele, shown once or doubled depending on the provider.
Three values are not bases:
--(23andMe, MyHeritage) means no-call: the chip could not read the position confidently. It is not a deletion. AncestryDNA writes0in both allele columns instead; the open-source snps parser treats0as missing in Ancestry files and--in the other two (checked 14 October 2026).IandDstand for insertion and deletion where the variant is extra or missing bases rather than a swapped base:DDis two copies of the deletion,IItwo copies of the insertion,DIone of each (Genetic Lifehacks, checked 14 October 2026). dbSNP and SNPedia write the same calls as-and the inserted letters, soDIat rs5030655 is SNPedia's (-;T) (SNPedia talk page, checked 14 October 2026).- A missing line means the position was not on the chip at all.
23andMe, AncestryDNA and MyHeritage layouts
| Provider | File | Separator | Genotype | No-call | Build |
|---|---|---|---|---|---|
| 23andMe | .txt in a .zip, name typically starts with genome_ | Tab | One genotype column, e.g. AG | -- | 37 (GRCh37), named in the header |
| AncestryDNA | AncestryDNA.txt in a .zip | Tab | Two columns, allele1 and allele2 | 0 | 37 |
| MyHeritage | MyHeritage_raw_dna_data.csv in a .zip | Comma, values in double quotes | One RESULT column | -- | 37 (##reference=build37 in the header) |
The same lines in AncestryDNA's layout:
rsid chromosome position allele1 allele2
rs1801133 1 11856378 A G
rs4988235 2 136608646 A G
rs2187668 6 32605884 0 0
And in MyHeritage's:
RSID,CHROMOSOME,POSITION,RESULT
"rs1801133","1","11856378","AG"
"rs4988235","2","136608646","AG"
"rs2187668","6","32605884","--"
Two caveats. MyHeritage's help article describes its export as a tab-separated file with five columns, rsID, chromosome, position, allele 1 and allele 2 (MyHeritage help, checked 14 October 2026), while the downloads we have seen, including a 2024 file, use the quoted CSV above under the name MyHeritage_raw_dna_data.csv; check the first lines of yours. And Genetic Lifehacks reports that AncestryDNA files downloaded from March 2026 contain far fewer SNPs than earlier ones, its coverage estimate falling from 78% to 44% of the SNPs it tracks (Genetic Lifehacks, checked 14 October 2026); we have not confirmed this independently, so treat it as a reported change.
The generator behind our reports reads all three layouts, plus FamilyTreeDNA, Living DNA and WeGene, inside your browser tab; how the file stays on your device is described on the security page.
Genome build: why your positions differ from dbSNP
The position column is a coordinate on one edition of the human reference genome. Consumer files use build 37, also called GRCh37 or hg19: the 23andMe header names it, the MyHeritage header says ##reference=build37, and AncestryDNA files are on build 37 as well at the time of writing. According to 23andMe's help article on reference genomes, raw data is reported on the plus strand of GRCh37, and the Browse Raw Data page on its site also shows GRCh38 (23andMe, checked 14 October 2026).
dbSNP, Ensembl and the GWAS Catalog display the newer build, GRCh38, first. The same SNP therefore shows two numbers:
| SNP | Your file (GRCh37) | dbSNP, GWAS Catalog (GRCh38) |
|---|---|---|
| rs4988235 | chr2:136608646 | chr2:135851076 |
| rs1801133 | chr1:11856378 | chr1:11796321 |
| rs429358 | chr19:45411941 | chr19:44908684 |
Source: the dbSNP entries for rs4988235, rs1801133 and rs429358, checked 14 October 2026. Nothing is wrong with your file. Search by rsID rather than by position and the build stops mattering.
Strand: why MTHFR shows A/G, not C/T
DNA is double-stranded, and a SNP can be named from either strand. The MTHFR variant everyone calls C677T (rs1801133) is written C and T in the papers and on SNPedia, which lists its orientation as minus (SNPedia, checked 14 October 2026). Consumer files report the forward (plus) strand of the reference genome, the strand dbSNP uses, where the alleles are G and A (dbSNP). So in your file GG is the common C/C genotype, AG is C/T and AA is T/T. A pairs with T and C pairs with G; swap each letter for its complement and the two notations agree.
The lactase SNP in the excerpt works the same way. SNPedia describes rs4988235 as C/T on the minus strand, with (C;C) likely to be lactose intolerant as an adult and (C;T) or (T;T) likely able to digest milk (SNPedia, checked 14 October 2026); the file shows G and A, so AG corresponds to (C;T). APOE's rs429358 and rs7412 are already on the plus strand, so their letters match in the file and on SNPedia.
The rule: before comparing a genotype with a study, check whether the source says plus or minus, or compare with dbSNP's forward alleles. If the letters in your file are not among the alleles the source lists, you are looking at the other strand.
How to look up one rsID
- Find the line. Open the file in a text editor and search for the rsID. On a Mac,
grep rs4988235 genome_raw.txtin Terminal prints the line (use your file's name); on Windows, Notepad's Find works, slowly. A spreadsheet works too (see the FAQ). - dbSNP (ncbi.nlm.nih.gov/snp/rs4988235) gives the gene, the forward-strand alleles, the position on both builds, allele frequencies by population and ClinVar entries: the reference for which letters are possible at the position.
- SNPedia (snpedia.com/index.php/Rs4988235) is a wiki that summarises what papers say about each genotype, with a magnitude score and an orientation flag. Read the orientation line first, then the genotype rows, then the cited study; entries vary in age and depth.
- The GWAS Catalog (ebi.ac.uk/gwas/variants/rs4988235) lists every genome-wide association study that reported the SNP, with risk allele, effect size, p-value and PubMed link. It is the curated record of common-variant associations and the source our reports are built from; our deep dive into the GWAS Catalog explains its columns.
Reading what you find: note the risk allele, check whether your genotype contains it, then look at the effect size and the sample. An odds ratio of 1.2 means about 20% higher odds per copy in the studied population, usually a small absolute change. Check the trait, too: rs4988235 appears in our nutrition catalogue only once, in a 2022 food-liking study, because lactose intolerance itself is not among the traits the catalogue maps.
Why a single SNP is not a diagnosis
One line in the file is one position out of hundreds of thousands, read by a chip with a known failure rate and interpreted through studies done on particular populations. Most common conditions are associated with hundreds of SNPs with small effects each, plus age, environment and family history that the file does not contain. The rare variants with large, well-characterised effects, such as pathogenic BRCA variants, are mostly not on consumer chips and need a clinical test. Treat any line that worries you as a question for a doctor or genetic counsellor, not as an answer.
Next step: a report that does this for 23,220 associations
Looking up one rsID by hand takes a few minutes. Our health report does the same lookup for the 23,220 associations in our catalogue: 1,114 conditions and traits from 1,459 genome-wide studies, filtered to genome-wide significance (p below 5×10⁻⁸) and a reported effect size. Each row shows the rsID, the risk allele, your genotype, the effect size and the PubMed link; each condition gets a plain-language verdict. The file is parsed in your browser tab and the PDF is written on your device; nothing is uploaded, and you can verify that yourself. The methodology page states the rules, including what the report does not do (no baseline risk, no clinical polygenic score). The sample report, generated from a 23andMe file, shows the tables; one report costs $5, no subscription. If APOE is the line you came for, the companion guide to reading APOE in your 23andMe or AncestryDNA raw data walks through rs429358 and rs7412.
FAQ
What is an rsID number?
An rsID (Reference SNP cluster ID) is the name dbSNP, the NIH variant database, gives to a position where people's DNA commonly differs, such as rs1801133. It stays the same across genome builds, so one rsID refers to the same SNP in your raw file, in research papers and in SNPedia or the GWAS Catalog, even when the position number differs.
What does a raw DNA file look like?
A text file with comment lines starting with #, then one line per tested SNP with four fields: rsID, chromosome, position and genotype, for example rs4988235 2 136608646 AG. 23andMe uses one tab-separated genotype column, AncestryDNA splits it into allele1 and allele2 columns, and MyHeritage uses a comma-separated CSV with a RESULT column.
How many SNPs are in a 23andMe file?
Roughly 600,000 to 700,000 lines; Genetic Lifehacks puts a current 23andMe file at about 650,000 rows (checked 14 October 2026). The exact number depends on the chip version, and a small share of lines are no-calls. That is about 0.02% of the genome's roughly three billion base pairs.
What is the rsID for MTHFR or APOE?
MTHFR C677T is rs1801133 and A1298C is rs1801131; your file shows C677T on the plus strand as G and A. APOE status comes from two SNPs, rs429358 and rs7412: ε3/ε3 is TT at rs429358 with CC at rs7412, a C at rs429358 marks an ε4 allele and a T at rs7412 marks an ε2 allele (SNPedia, checked 14 October 2026).
Can I open the file in Excel?
Yes. Excel allows 1,048,576 rows per sheet (Microsoft, checked 14 October 2026), so a 650,000-line file fits; import it as tab- or comma-delimited and use Find or a filter on the rsid column. Keep the original download unchanged: resaving as .xlsx or letting Excel reformat columns can break a file you later give to an analysis tool.
This article is for general information only and is not medical advice. Talk to a qualified healthcare professional before making health decisions based on genetic data.
Got your raw file?
Turn it into your health report now.
Open the export in your browser; Full Human reads it locally and writes a PDF with the study behind every row. Nothing is uploaded.
1114 conditions and traits · 17 sections · GWAS Catalog June 2026
Your DNA file stays on your device during report generation.