GLSL Shader Playground
Free online GLSL shader playground with live WebGL preview and ShaderToy-style uniforms. Apply CRT, VHS glitch and halftone presets, export a PNG.
✓ Compiled
Uniforms: iResolution (vec3), iTime (float), iMouse (vec4), iChannel0 (sampler2D — the loaded image). Compiles live on your GPU.
How to use the GLSL Shader Playground
- Pick a preset such as CRT, VHS glitch or halftone, or start from the default shader.
- Click Load image to run the shader on your own picture (it is iChannel0).
- Edit the GLSL; the preview recompiles as you type.
- Click Copy code, or PNG to save the current frame.
Using it in your game
The code is a ShaderToy-style fragment shader. Godot and Unity use their own shader languages, so port the main function (iTime becomes TIME in Godot) rather than pasting it as is.
Frequently asked questions
Is it compatible with ShaderToy shaders?
Mostly — you write a mainImage(out vec4 fragColor, in vec2 fragCoord) function and the same iResolution, iTime, iMouse and iChannel0 uniforms are provided, so many ShaderToy shaders paste straight in.
Can I apply effects to my own image?
Yes. Load an image and it becomes the iChannel0 texture, then pick a preset — CRT/retro, glitch/VHS, halftone or palette cycling — or write your own. Each preset shows its GLSL code so you can copy or tweak it.
Does it run on my machine?
Yes. Shaders compile and render locally on your GPU via WebGL — nothing is uploaded and there is no cost. Export the current frame as a PNG anytime.
Create game assets with AI
Generate original art, audio, and 3D models in seconds.