Open the match history or match room belonging to the service where you played, use its demo download action, and keep the file it gives you. A CS2 demo file ends in .dem, sometimes with a compression suffix such as .gz, .zst or .bz2. For browser replay you upload that file directly; you do not need to move it into a Counter-Strike 2 installation folder. Service interfaces and retention windows change, so follow each service's current official instructions.
What is a CS2 demo file?
A CS2 demo is a recording of match state written by the game server, not a video. It stores player positions, view angles, health, weapons, money and match events tick by tick, which is why a demo can be replayed from any camera angle while a video cannot. That property is the entire reason demo review is more useful than a clip: you can move the camera to a place nobody's screen was pointing.
The practical consequences are worth stating plainly. A demo is small compared with video of the same match. It can be re-rendered by any tool that understands the format, which is how browser replay works at all. And it contains only what the server recorded — no voice, no player's actual screen settings, no crosshair, no mouse input.
Before you download
Identify the source first: CS2 matchmaking or Premier, FACEIT, a tournament provider, or a demo someone shared with you directly. The download belongs to that source, and each one has its own retention window — demos are not kept forever anywhere, so grab the match you want to review while it is still listed.
Keep the original download until the replay opens successfully. Rename it to something with the date, map and opponent in it; three files called match730.dem in a downloads folder are indistinguishable a week later.
Matchmaking and Premier demos
Use the current match-history controls in CS2, or your connected Steam match history, to locate the match and its demo or share code. Valve changes navigation and availability from time to time, so this guide deliberately does not claim a permanent button position or a fixed retention period.
Two things are stable enough to rely on. First, matchmaking demos are served compressed, and the compressed file is still the demo — see below. Second, a share code is an identifier, not a recording. Where the server integration is configured you can paste a CS2 matchmaking share code and have the demo fetched for you, which is faster than downloading it and uploading it again. Connecting a CS2 match-history authentication code lets recent matches be pulled the same way.
FACEIT demos
FACEIT's official support guide instructs players to open the match room, select Watch Demo, download the file and extract it before using the demo in the game client. Follow the current FACEIT guide to downloading and watching a CS2 demo for the FACEIT-specific steps, since their interface is the authority on their own product.
For browser replay the extraction step is usually unnecessary: FACEIT serves gzip-compressed demos, and those upload as-is. You also do not need to move the file into the game directory. If the FACEIT integration is configured on the server, pasting the match link is enough and the demo never touches your disk.
Do you have to extract a compressed demo?
Not for the compression formats providers actually use. The uploader accepts .gz, .zst and .bz2 alongside a plain .dem and decompresses them on the server. A .zip or .rar archive is a container rather than a stream, so extract that yourself and upload the enclosed demo.
One thing that never works, in any tool: renaming a compressed file to .dem. Renaming changes the label, not the bytes, and a parser that opens it finds a compression header where a demo header should be. If a file will not parse and you renamed it, that is the first thing to undo.
Note also that upload size limits apply to the decompressed demo. A 90 MB compressed download can be several times that once expanded, which is worth knowing before you blame the uploader.
If the demo will not open
- Confirm the file really is a demo —
.dem, or.demwith a.gz,.zstor.bz2suffix — and that you did not rename an archive. - Check that the download completed and the file has a plausible non-zero size.
- Re-download from the original source if the archive reports corruption. A truncated download is the single most common cause of a demo that starts parsing and stops.
- Confirm the map is supported. Ten maps have the geometry and radar calibration a reconstruction needs: Ancient, Anubis, Cache, Dust II, Inferno, Mirage, Nuke, Overpass, Train and Vertigo. A demo outside that pool is rejected rather than rendered with missing geometry — see the map review guide.
- Keep the original file if you report a problem. The filename and source are what distinguish a format difference from a bad download.
Frequently asked questions
What is a CS2 demo file?
A CS2 demo is a recording of match state written by the game server, not a video. It stores player positions, view angles, health, weapons, money and match events tick by tick, which is why a demo can be replayed from any camera angle while a video cannot.
Where are CS2 demos stored on my computer?
Demos downloaded through the game are written into your Counter-Strike 2 installation, normally under the csgo folder inside the game directory. Demos downloaded from a third-party service land wherever your browser saves downloads, and browser replay does not require you to move the file into the game folder at all.
Do I have to extract a compressed CS2 demo before uploading it?
Not for the compression formats providers actually use. The uploader accepts gz, zst and bz2 alongside a plain dem and decompresses them on the server. A zip or rar archive is a container rather than a stream, so extract that yourself and upload the enclosed demo.
Is a CS2 share code the same thing as a demo file?
No. A share code is a short identifier for a match, not the recording itself. Where the server integration is configured you can paste one and have the demo fetched for you, but the code alone contains no match data.