NanoSVG is a C library for parsing and rasterizing SVG files. It consists of two single-header files: nanosvg.h for parsing SVG into cubic bezier paths, and nanosvgrast.h for rasterizing those paths into RGBA pixel data. The library handles a wide range of SVG features including basic shapes (rect, circle, ellipse, line, polyline, polygon, path), fills, strokes, linear and radial gradients, and transformations. Designed for ease of use in applications and games, it requires only standard C libraries and can be integrated by simply copying the header files and defining the appropriate implementation macros. The parser (nanosvg.h) reads SVG files through a custom XML parser and converts them into a structured representation of bezier paths. It properly handles SVG coordinate systems, viewBox transformations, and unit conversions (px, pt, pc, mm, cm, in). The rasterizer (nanosvgrast.h) then takes this path data and converts it to a pixel buffer using a scanline rasterization algorithm with anti-aliasing. Together, these components provide a complete solution for rendering SVG content in applications that need vector graphics support without heavy dependencies. While the README notes the project is not actively maintained, the library continues to be widely used due to its simplicity, reliability, and permissive zlib license. Its single-header design makes it particularly suitable for embedding in projects where minimizing dependencies is important, such as game development or desktop applications.