English · Русский
Drop in a CS2 demo, get ready-to-post highlight edits.
clipforge finds your best moments, lets you preview them in 3D, records them in-game through HLAE and adds slow-mo, music with 3D lyrics, skins and a victim POV replay. No video editor needed.
Every round of every player gets a score and tags, the way highlight services do it, but using everything the demo has.
- Multi-kills 2K, 3K, 4K, ACE, with a bonus for speed ("3K in 2.1 s")
- Real clutches 1vN: when you were the last one alive, against how many, and whether your team won the round
- Style kills: wallbangs, through smoke, no-scopes, jump shots, while blind, knife, zeus, 40+ m kills, collaterals
- Context: opening kills, eco rounds, pistol rounds, the deciding round, ninja defuses
- Tiers from Good to Legendary, sorted best first, picked automatically
- Slow motion around kills with smooth ramps, audio slowed with Rubber Band so gunshots stay crisp
- Kill flash (pink, white or gold glow) and headshot zoom
- Beat-synced zoom and shake from the track's kick and bass
- Atmosphere: Night, Fog, Sunset, Neon, as a color grade plus real in-game fog and sky through HLAE
- Damage numbers next to the crosshair, a full match HUD drawn from demo data, or a clean killfeed-only view
- Graphics: as in game, Cinematic (ReShade: soft corner shadows, bounce light, reflections, bloom, film color) or Max quality (records at twice the size and scales down: no jaggies, sharper textures; needs AMD VSR or NVIDIA DSR turned on once)
- Cut the search between kills: if you ran around the map for a while between kills of one moment, the middle is cut out
- Frame blending, any resolution and aspect ratio, stretched 4:3 (including 1440×1080, exactly 1920×1080 after stretching), GPU encoding (NVENC, AMF, Quick Sync)
- Add your own track, synced lyrics are fetched from LRCLIB (or paste your own and mark the lines with Space)
- Lyrics float in 3D inside the map with a karaoke highlight
- The chorus lands exactly on your last kill, together with a smooth slow-mo
- Victim POV replay: after the clip, every kill is replayed through the eyes of the player you killed, a moment past the death so you see them drop
- Orbit camera around the player after the final kill
- Post-round reaction: if the moment ended the round, the clip jumps to the next round's spawn, the camera circles the player and you hear the team react in voice chat
Press 3D on any moment to watch it right in the app, before CS2 even starts.
- The real map geometry, exported from your own CS2 install (nothing from Valve ships with clipforge)
- All ten players as dummies in team colors, with names, crouching and deaths, straight from the demo
- Player POV with the real position and angles, a CS2-style crosshair and the weapon in hand: the model and textures come from the game and change when the player switches weapons
- Shots you can see: muzzle flash, tracers, recoil and crosshair kick, for everyone on the map
- A killfeed with the game's own icons: headshot, wallbang, through smoke, no-scope, blind, assists
- With orbit plays the exact
mirv_campaththat goes to HLAE, so you see where the orbit camera will fly. Free camera shows that path as a yellow line - A timeline with kill marks, 0.25× / 0.5× / 1× speed and a compact info panel: FPS, tick, weapon, HP, speed, players alive
- Clips or Edit mode on the Demo tab. Edit presets: Night Edit (a night intro with stars, a moon, glowing dust and lyrics, then the best kills, each on a beat) and Cinematic
- One video from several demos: pick moments in one demo, open another and pick there. Everything goes into one render, recorded in a single CS2 run
Change weapon skins, the knife model and finish, and gloves. clipforge writes a modified copy of the demo, so nothing touches your inventory or the game files.
- Things the scoreboard doesn't show: crosshair codes (one click to copy), accuracy, counter-strafing, time to kill, opening duels, distance run, chat and server settings. Optional FACEIT levels with your own API key
- Profile: Steam and FACEIT stats, form over the last 30 matches, maps, and what clipforge recorded while you played (hours, matches, weapons). Only matches on Valve servers and FACEIT count
- Achievements in bronze, silver and gold, Steam friends, and a side-by-side comparison of any two players
- A gallery of finished clips with previews, sorting, filters and a built-in player
- A 1080×1920 player card for stories or Discord, copied to the clipboard in one click
- Before / after slider: raw demo vs the finished clip, same moment
- A hint on top of CS2 shows which key starts recording and the live progress. It never ends up in the video
- A notification when your highlight is ready
- First-run wizard: finds CS2 in every Steam library, checks HLAE, the highlights folder and free space, and records a 5-second test clip
- Auto-updates with a "What's new" window
- A chicken lives at the bottom of the window. You can pet it, grab it and throw it, and it wears headphones while you render. It and its sounds can be turned off
- English and Russian interface, switched live
![]() |
![]() |
| Highlights gallery | In-game hint and "highlight ready" notification |
.dem ──► demoparser2 ──► moments + stats ──► you pick the clips
│
3D preview? ──► map + weapons from your CS2 ◄──┤
│
skins? ──► source2-demo rewrites a copy ◄───┘
│
CS2 + HLAE plays the demo, you press F10 ──► raw frames + audio
│
ffmpeg: blend, slow-mo, HUD, lyrics, flash, zoom, music ──► .mp4
- The demo is parsed with demoparser2: kills, damage, positions, rounds, equipment.
- Moments are scored and shown on a round timeline. For the 3D preview, Source 2 Viewer exports the map, weapon models and killfeed icons from your CS2 once and caches them, and three.js draws the scene.
- If you changed skins, the demo copy is rewritten with source2-demo.
- CS2 launches through HLAE with the demo. You can watch it first, recording starts when you press the hotkey (F10 by default).
- HLAE records frames straight from the engine. ffmpeg then puts the clip together with all the effects.
To use:
- Windows 10 or 11
- Counter-Strike 2 installed through Steam
- HLAE (Half-Life Advanced Effects). Its ffmpeg is used for encoding, so nothing else is needed
- clipforge downloads the rest itself the first time it's needed: ReShade for the Cinematic look (~10 MB) and Source 2 Viewer CLI for the 3D preview (~53 MB)
To build from source, also:
- Node.js 18 or newer
- Rust stable and the Visual Studio C++ build tools
- WebView2 (already part of Windows 10/11)
Installer: download clipforge_x.y.z_x64-setup.exe from Releases and run it. Everything it needs is inside, including its own copy of Node.js for demo parsing. After that it updates by itself.
From source:
git clone https://github.com/BeanDx/clipforge.git
cd clipforge
npm install
npx tauri devBuild an installer:
npx tauri buildThe installer ends up in src-tauri/target/release/bundle/.
First run:
- The setup wizard finds CS2 and HLAE, checks the highlights folder and can record a 5-second test. You can run it again from Settings.
- Drop a
.demfile on the Demo tab. - Pick a player in Match stats, choose moments, tweak Clip settings. Press 3D on a moment to preview it.
- Press Start render, wait for the demo to load in CS2 and press F10.
- After pressing F10 you can alt-tab and do something else, recording keeps going. When it's done you get a notification and the clips land in Highlights.
Can I get VAC banned for this?
CS2 is started through HLAE with
-insecure, which means VAC is off for that session and you can't join secured servers with it. clipforge only plays demos locally. Close the game afterwards (clipforge does it for you) and start CS2 normally before playing matchmaking.
Does it lower my FPS if I keep it open while playing?
Barely. Same spot on the map, the CS2 FPS counter, left with clipforge closed, right with it open:
1005 vs 977 average FPS, about 3%, which is within normal run-to-run variance. While the game is in focus, clipforge pauses all its animations and uses about 0% CPU and ~270 MB of RAM.
Do I need a FACEIT API key?
No. It's only used to show FACEIT levels and Elo in Match stats. Everything else works without it.
Are skin changes visible to anyone else?
No. clipforge writes a modified copy of the demo file and records from it. Your inventory, the game and the original demo stay untouched.
Does the 3D preview ship any game files?
No. The map, weapon models and icons are exported from the CS2 you have installed with the open-source Source 2 Viewer and cached in
%LOCALAPPDATA%\clipforge. After a map update in CS2 the map is exported again. Workshop maps aren't supported.
Which demos work?
CS2 demos from FACEIT, Valve matchmaking and Premier, and SourceTV demos from community servers.
| Tauri 2 | desktop shell, Rust backend |
| React 19 + Vite | interface |
| demoparser2 | CS2 demo parsing |
| source2-demo | demo rewriting for skins (a patched copy lives in src-tauri/vendor) |
| HLAE | in-game recording, camera paths, sky and colors |
| ffmpeg | post-processing and encoding |
| three.js | 3D preview |
| Source 2 Viewer | exports maps, weapons and icons from your CS2 for the 3D preview |
| ReShade | the Cinematic and Max quality look |
| LRCLIB | synced lyrics |
| CSGO-API | skin catalog and images |
| FACEIT Data API | optional player levels |
- Prebuilt installer
- Auto-updates
- First-run setup wizard
- One video from several demos
- 3D preview of a moment before recording
- Achievements
- Hands and skins in the 3D preview
- Kill tags in the video (WALLBANG, 1v3 CLUTCH)
- Trimming and export presets for TikTok and Discord
Ideas and bug reports are welcome in Issues.
MIT © BeanDx
clipforge is not affiliated with or endorsed by Valve Corporation or FACEIT. Counter-Strike is a trademark of Valve Corporation.







