# How many CpG sites are in the human genome?

> ProteinIQ counted 29.4 million CpG sites in the GRCh38 human reference genome and 33.9 million in the complete T2T-CHM13 sequence, or twice as many CpG cytosines across both strands.

The human genome contains **29 to 34 million CpG sites**, depending on how complete the reference sequence is. We counted 29,401,795 in GRCh38, the reference most laboratories still align to, and 33,896,489 in the gapless T2T-CHM13 sequence. That works out to roughly one CpG every 90 to 100 base pairs.

Counting the cytosine on each strand separately, as methylation assays do, doubles the figure to 59 to 68 million. The sites are not spread evenly either: most occur at low density, while CpG islands pack many CpGs into short stretches of DNA that often overlap gene-regulatory regions.

## How many CpG sites are in the human genome?

One copy of the human reference genome contains 29.4 million CpG sites in GRCh38 and 33.9 million in T2T-CHM13, by our count of the official sequence files.

A CpG site is a cytosine followed immediately by guanine along a DNA strand, with the "p" referring to the phosphate bond between them. CG reads the same on both complementary strands, so each site holds two cytosines, one per strand. A count of sites and a count of CpG cytosines therefore differ by exactly a factor of two, which is why both 28 million and 56 million circulate for the same genome.

The two references differ mainly because GRCh38 still contains about 151 million bases of gaps, written as N, concentrated in long satellite repeats and the short arms of chromosomes 13, 14, 15, 21 and 22. T2T-CHM13 closed every gap in 2022, and its version 2.0 adds a complete Y chromosome from a second person, HG002.

Chromosomes 1, 9, 13, 14, 15, 16, 21, 22 and Y account for 4.1 million of the 4.5 million extra CpGs in T2T-CHM13. The Y chromosome alone gains about 706,000, more than quadrupling its GRCh38 count.

  <caption><strong>Table 1. CpG sites in two human reference genomes.</strong> Counts cover chromosomes 1 to 22, X, Y and the mitochondrial genome (chrM) unless stated. A CpG site is one C followed by G on the double helix; CpG cytosines count both strands. Pseudoautosomal CpGs on chrY repeat sites on chrX and are included in the totals. Sources: ProteinIQ count of UCSC hg38.fa.gz and hs1.fa.gz, downloaded October 23, 2026.</caption>
  <thead>
    <tr>
      <th scope="col">Measure</th>
      <th scope="col" align="right">GRCh38 (hg38)</th>
      <th scope="col" align="right">T2T-CHM13v2.0 (hs1)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>CpG sites</td>
      <td align="right">29,401,795</td>
      <td align="right">33,896,489</td>
    </tr>
    <tr>
      <td>CpG cytosines, both strands</td>
      <td align="right">58,803,590</td>
      <td align="right">67,792,978</td>
    </tr>
    <tr>
      <td>CpG sites on chrX</td>
      <td align="right">1,322,709</td>
      <td align="right">1,315,300</td>
    </tr>
    <tr>
      <td>CpG sites on chrY</td>
      <td align="right">225,912</td>
      <td align="right">931,616</td>
    </tr>
    <tr>
      <td>CpG sites in chrY pseudoautosomal regions</td>
      <td align="right">56,463</td>
      <td align="right">56,742</td>
    </tr>
    <tr>
      <td>CpG sites on chrM</td>
      <td align="right">435</td>
      <td align="right">435</td>
    </tr>
    <tr>
      <td>CpG sites in soft-masked repeats</td>
      <td align="right">15,855,249 (53.9%)</td>
      <td align="right">19,732,813 (58.2%)</td>
    </tr>
    <tr>
      <td>Gap (N) bases, containing no CpGs</td>
      <td align="right">150,630,720</td>
      <td align="right">0</td>
    </tr>
    <tr>
      <td>Observed/expected CpG ratio</td>
      <td align="right">0.24</td>
      <td align="right">0.26</td>
    </tr>
    <tr>
      <td>Extra CpG sites on alternate and unplaced sequences</td>
      <td align="right">1,577,948</td>
      <td align="right">None in assembly</td>
    </tr>
  </tbody>

Figures near 28 million come from the previous reference. The 2023 atlas of normal human cell types reports methylation across 28,217,448 CpGs, with its data mapped to hg19, also called GRCh37. We counted exactly 28,217,448 CpG sites on hg19's 25 main sequences, so the atlas figure is a complete count of that reference rather than a filtered subset. The same 25 sequences in GRCh38 hold 1.18 million more.

Dividing by the sequenced length of the [human genome](/guides/human-genome-size) gives one CpG every 100 base pairs in GRCh38 and every 92 in T2T-CHM13. The real distribution is highly uneven: CpGs are sparse across much of the genome and concentrated in CpG-rich regions.

The count refers to positions in a reference sequence, not the number of methylated cytosines in a person. A diploid cell carries two copies of most CpG positions, and [sequence variants](/guides/how-many-snps-are-in-the-human-genome) can create or remove individual CpGs.

## How many CpG islands are in the human genome?

The human genome has roughly 30,000 CpG islands under a widely used repeat-masked sequence definition, but the count rises above 50,000 when CpG-rich repeats are included.

The initial human genome analysis found 28,890 CpG islands after masking repetitive DNA and 50,267 in the full draft sequence. The large difference came mainly from GC-rich repeat elements, especially Alu sequences.

A CpG island is a region, not one CpG site. The classic sequence rule looks for at least 200 base pairs with [GC content](/app/gc-content) above 50% and an observed-to-expected CpG ratio of at least 0.6. The [CpG Island Finder](/app/cpg-island-finder) applies these criteria to a submitted DNA sequence.

Different minimum lengths, CpG-density thresholds, genome assemblies, and repeat-masking rules produce different totals. "About 30,000" is a useful shorthand only when the counting method is clear.

## What percentage of CpG sites do methylation arrays measure?

Common methylation arrays measure about 1.6% to 3.3% of the human genome's CpG sites, depending on the platform.

The 450K array covers roughly 450,000 sites, or 1.6% of 28.2 million. The first MethylationEPIC array covers about 860,000, or 3.0%. Illumina's current MethylationEPIC v2.0 kit targets about 930,000 unique methylation sites, or 3.3%.

![The whole human genome contains 100% of its roughly 28.2 million CpG sites, while three common methylation arrays cover about 1.6% to 3.3%](/images/charts/human-cpg-array-coverage.webp)

The percentages are calculated against the 28,217,448-site set used by the 2023 atlas, the full hg19 count. Against GRCh38's 29.4 million they fall slightly, to 1.5% to 3.2%. Arrays select CpGs in genes, promoters, enhancers, CpG islands, and other regions of interest, so their coverage is not a random sample of the genome.

Whole-genome methods can examine far more sites, but the number with usable measurements in a particular experiment depends on sequencing depth, read mapping, sample quality, and analysis filters.

## Why are CpG sites rare in the human genome?

CpG sites occur at only about a quarter of the frequency expected from the human genome's cytosine and guanine content.

In GRCh38, cytosine and guanine each make up about 20.4% of the sequenced bases, so random pairing would place CpG at about 4.2% of positions. We count 1.0%, an observed-to-expected ratio of 0.24, and T2T-CHM13 gives 0.26. The initial analysis of the draft sequence found a similar shortfall.

The main reason is mutation over evolutionary time. Cytosines in CpG sites are often methylated. When methylated cytosine loses an amino group, it becomes thymine, creating a C-to-T change that DNA repair can miss. Repeated mutations have depleted CpGs from much of the genome.

CpG islands are the main exception. Their CpGs are often unmethylated, which reduces this mutation pressure and helps preserve dense clusters near many gene promoters.

## Methodology

We downloaded the soft-masked FASTA files hg38.fa.gz, the initial GRCh38 release without later patches, and hs1.fa.gz, T2T-CHM13v2.0, from the UCSC Genome Browser on October 23, 2026. Each file matched UCSC's published MD5 checksum. For the atlas comparison, we did the same with hg19.fa.gz.

We counted every position where C is immediately followed by G along the forward strand of each sequence, ignoring letter case. Because CG is its own reverse complement, this counts each double-stranded site once, and doubling it gives CpG cytosines on both strands. The observed-to-expected ratio is the CpG count multiplied by the number of sequenced bases and divided by the product of the C and G counts, with N bases excluded.

Headline counts cover chromosomes 1 to 22, X, Y and chrM. GRCh38's 261 alternate haplotypes and 169 unlocalized or unplaced scaffolds hold another 1,577,948 CpGs. We report them separately because alternate haplotypes are second versions of regions already on the main chromosomes, and the scaffolds are pieces without a known position.

Neither gaps nor repeat masking removes a CpG from our totals. An N gap contains no C or G, so it holds no countable site. UCSC writes repeats found by RepeatMasker and Tandem Repeats Finder in lowercase; we counted those CpGs and report the share whose cytosine falls in such a repeat.

Both references keep the pseudoautosomal regions, stretches at the ends of chrY that match chrX, so the 56,463 GRCh38 and 56,742 T2T-CHM13 CpGs there repeat sites already counted on chrX. Counting each of these sites once leaves 29,345,332 and 33,839,747. We kept them in the totals because the hg19 count that matches the atlas includes them too, and we took the region boundaries from the Genome Reference Consortium and the T2T Consortium.

Each reference spells out one copy of each chromosome. GRCh38 is a mosaic of haplotypes from several donors, and its centromeres are computer-generated models of alpha satellite repeats, whose CpGs our GRCh38 count includes. T2T-CHM13 comes from a hydatidiform mole, whose two chromosome sets are almost identical, with its Y chromosome taken from HG002.

A person's genome differs through variants and copy number, and a methylation experiment measures fewer sites depending on mapping, coverage and filtering.

The [per-chromosome counts (CSV)](/data/guides/how-many-cpg-sites-in-human-genome/cpg-counts.csv) list every value on this page for GRCh38, T2T-CHM13 and hg19, and the [analysis script](/data/guides/how-many-cpg-sites-in-human-genome/count_cpg_sites.py) reproduces them from the three FASTA files.
