Three.js is a JavaScript library for rendering 3D graphics in a web browser. It uses WebGL to render scenes made of objects like meshes, materials, lights and textures. A basic Three.js program creates a renderer, camera and scene, then adds objects to the scene and calls renderer.render() to display the scene. Key APIs include those for lights, geometries, materials, textures and offscreen rendering using render targets. Shaders can be passed to materials for custom rendering effects.