Processor and graphics card specifications are live
Free · Runs in its own window

VRAM test. Written, read back, counted.

To test VRAM for errors, write known patterns into graphics memory, read them back and count every word that came back wrong; a healthy card returns zero. This test does that through WebGPU, growing its allocation in steps up to a cap you choose and stopping at the first error the browser reports. It then copies a buffer larger than any GPU cache to measure memory bandwidth. The size it reaches is what the browser let this page use, not the card's installed memory.

One check · Up to a minute

Asks for: Nothing. It runs in its own window and nothing leaves this page.

In short

VRAM test: the answer first

To test VRAM for errors, write known patterns into graphics memory, read them back and count the words that differ; a healthy card returns zero. This test does that in the browser through WebGPU, growing the allocation in safe steps up to a cap you choose, then measures memory bandwidth with a copy kernel. The size it reaches is what the browser let this page use, not the card's total VRAM.

Reading your result

Zero mismatches
Every word written came back as written, in every buffer, with all three patterns. That is the pass.
Any mismatch
A word came back different. Run again at stock clocks; errors that repeat point at the memory, an overclock or cooling.
Stopped early
The reason is shown: the cap, an out-of-memory or validation error, or a device reset. Only the cap is a normal end; the others say how far the browser would go.

What it measures

Measured here, not assumed.

Allocation, in safe steps
Storage buffers of up to 256 MiB each, or the adapter's limit if smaller, added one at a time inside out-of-memory and validation error scopes, up to the cap you choose (2 GiB by default, our starting value). The probe stops at the cap, the first error, a reset device or one minute.
Three patterns, counted
Each buffer is filled on the GPU with address-in-address, walking-ones and seeded random patterns, and a second shader counts every word that differs. The first 4 KiB of each is also read back and checked on the processor. The known answer is zero mismatches.
Everything at once
When the growth stops, every buffer is checked once more while all are held, so an allocation that disturbed an earlier one is caught.
Memory bandwidth
A compute shader copies a 256 MiB buffer into another, seven times; read plus write is counted. Timed on the GPU with timestamp queries where offered, otherwise from submit to completion. The figure is the median in GB/s with the range.

If it fails

The usual failures, and what fixes each.

Mismatches were found
Run it again with the card at stock clocks and the case cool. Mismatches that repeat point at the card's memory, an overclock or cooling. Undo any memory overclock first.
The browser reset the device
The driver stopped the work, often because the card was busy or its memory was tight. Close games and other graphics apps, choose a lower cap and run again. Repeated resets at low sizes are worth a driver update.
Very little could be allocated
Other apps hold the memory, the browser runs on a fallback adapter, or the laptop uses its integrated chip. The WebGPU test shows the adapter; on a laptop with two chips, set the browser to high performance in the system's graphics settings.

Where a browser stops

What it cannot tell you.

  • Installed VRAM. The browser and the driver cap, share and move memory, so the figure is what the browser let this page use. It is never called the card's memory size.
  • Integrated graphics. The memory comes from system RAM, so the figure is a different quantity there.
  • Temperatures, clocks, error correction and other programs' use of the card.
  • Every byte of the card. Only the memory this page was given is tested.
  • Load over time. A clean pass here is not a stress test; the GPU stress test holds the card under load.

Privacy

Nothing leaves this page.

The camera and microphone are read on this page and stopped as soon as they have been measured. The clip you can play back lives in the browser's memory and is discarded when you leave. The location check discards the position. The internet test sends random bytes to this site and nothing else. The result is stored nowhere unless you ask for it by email, and then only the fact that an email was sent is kept.

The privacy policy

Questions

VRAM test, answered

How do I test VRAM for errors?
Write known patterns into graphics memory, read them back and count the words that differ. Run the test above: it does that through WebGPU in steps up to a cap you choose, and a healthy card shows zero mismatches.
Does this show how much VRAM my card has?
No. It shows how much memory the browser let this page allocate and verify. The browser and driver limit that, so it is usually less than the card's memory, and on integrated graphics it comes from system RAM.
Can a browser VRAM test damage my card?
No. It allocates ordinary buffers through the browser, in steps, and frees them all at the end. The worst case is the browser resetting the graphics device, which the test reports and survives.
What is a good memory bandwidth?
It depends on the card: memory type, bus width and clock set it. Compare your result with the same test in the same browser over time, or before and after a change. A browser copy kernel reads below the card maker's rated peak.
Why is the allocated size smaller than my card's VRAM?
The browser and the driver limit what one page may take, other programs hold some, and the page stops at the cap you chose. The figure is what this page was allowed and verified, never the card's size.

Read next

Then test the machine itself. A free stress test, in the same browser.