renature is a physics-based animation library for React inspired by the natural world. Taking influence from other popular physics-based animation libraries like and elements of , renature focuses on using non-traditional physics primitives like gravity, friction, and fluid resistance. It also provides a simple two-dimensional API for creating visual experiences similar to or .

renature focuses on speed, precision, and a small bundle size. The implementation is a mix of and . We use ReScript for the vector primitives, parsers, and interpolators, and TypeScript for the hooks implementations and frame loop. We also value being dependency-free — renature has no external dependencies!


We hope you love renature and enjoy learning more about the library! Check out the following sections to get started:

  • – Learn how to install renature, use your first hook, and control animation play states.
  • – Interested in the underlying physics and math powering renature? Curious to understand the core of how renature looks? This section will dive deep into library internals for users and contributors alike.
  • – The formal API documentation for renature. Complete with live code examples powered by .

Can't find what you're looking for? Confused by a particular section of the docs? Catch a typo? Please or consider . We love community contributors ❤️.