> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/paper-design/shaders/llms.txt
> Use this file to discover all available pages before exploring further.

# Paper Shaders

> Zero-dependency canvas shaders that can be installed from npm or designed in Paper

<div className="relative overflow-hidden dark:bg-[#0f1117] bg-white">
  <div className="relative py-20 px-6 sm:px-8 lg:px-12">
    <div className="max-w-7xl mx-auto">
      <div className="grid lg:grid-cols-12 gap-8 items-center">
        <div className="lg:col-span-7">
          <h1 className="text-4xl sm:text-5xl lg:text-6xl font-bold dark:text-white text-gray-900 mb-6">
            Beautiful WebGL Shaders for Modern Web
          </h1>

          <p className="text-lg sm:text-xl dark:text-gray-400 text-gray-600 max-w-2xl mb-8">
            Zero-dependency canvas shaders that bring stunning visual effects to your websites. Design in Paper or install from npm with full React and vanilla JavaScript support.
          </p>

          <div className="flex flex-wrap gap-4">
            <a href="/quickstart" className="inline-flex items-center justify-center px-6 py-3 rounded-lg font-semibold bg-[#84acec] text-white hover:bg-[#6b94d3] transition-colors">
              Get Started
            </a>

            <a href="/shaders/overview" className="inline-flex items-center justify-center px-6 py-3 rounded-lg font-semibold border dark:border-white/30 border-gray-300 dark:bg-white/10 bg-transparent dark:text-white text-gray-900 dark:hover:bg-white/20 hover:bg-gray-50 transition-colors">
              Explore Shaders
            </a>
          </div>
        </div>

        <div className="lg:col-span-5 hidden lg:block">
          <div className="relative h-96 rounded-2xl overflow-hidden dark:bg-[#1a1d27] bg-gray-50 border dark:border-[#27272a] border-gray-200">
            <div className="absolute inset-0 flex items-center justify-center">
              <div className="text-center p-8">
                <div className="text-6xl mb-4">✨</div>
                <p className="dark:text-gray-400 text-gray-600 text-sm">30+ Animated Shader Effects</p>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>

  <div className="mt-16 mb-16 max-w-5xl mx-auto px-6">
    <h2 className="text-2xl sm:text-3xl font-semibold dark:text-white text-gray-900 mb-3">Quick Start</h2>
    <p className="dark:text-gray-400 text-gray-600 mb-8">Get up and running with Paper Shaders in minutes</p>

    <Steps>
      <Step title="Install the package">
        Install Paper Shaders using your preferred package manager:

        <CodeGroup>
          ```bash npm theme={null}
          npm install @paper-design/shaders-react
          ```

          ```bash yarn theme={null}
          yarn add @paper-design/shaders-react
          ```

          ```bash pnpm theme={null}
          pnpm add @paper-design/shaders-react
          ```
        </CodeGroup>

        <Note>
          For vanilla JavaScript projects, use `@paper-design/shaders` instead. We recommend pinning your dependency version as breaking changes may occur under 0.0.x versioning.
        </Note>
      </Step>

      <Step title="Import and use a shader">
        Import any shader component and add it to your React app:

        ```jsx App.jsx theme={null}
        import { MeshGradient } from '@paper-design/shaders-react';

        function App() {
          return (
            <MeshGradient
              colors={['#5100ff', '#00ff80', '#ffcc00', '#ea00ff']}
              distortion={1}
              swirl={0.8}
              speed={0.2}
              style={{ width: '100%', height: 400 }}
            />
          );
        }
        ```
      </Step>

      <Step title="Customize and explore">
        Adjust shader parameters in code or design visually using [Paper](https://paper.design). All settings are exportable as lightweight code that works in any codebase.

        <Tip>
          Check out the [Shaders](/shaders/overview) section to explore all 30+ available effects, from mesh gradients to halftone filters.
        </Tip>
      </Step>
    </Steps>
  </div>

  <div className="mt-16 mb-16 max-w-5xl mx-auto px-6">
    <h2 className="text-2xl sm:text-3xl font-semibold dark:text-white text-gray-900 mb-3">Why Paper Shaders?</h2>
    <p className="dark:text-gray-400 text-gray-600 mb-8">Built for performance, designed for creativity</p>

    <CardGroup cols={2}>
      <Card title="Zero Dependencies" icon="feather" href="/introduction">
        Lightweight WebGL shaders with no external dependencies. Maximum performance, minimum bundle size.
      </Card>

      <Card title="Framework Support" icon="react" href="/guides/react-usage">
        Works with React, vanilla JavaScript, and more. Vue and other frameworks coming soon via community PRs.
      </Card>

      <Card title="30+ Shader Effects" icon="wand-magic-sparkles" href="/shaders/overview">
        From mesh gradients to halftone filters, animated patterns to image effects—all highly customizable.
      </Card>

      <Card title="TypeScript Ready" icon="code" href="/api/types">
        Full TypeScript support with complete type definitions for all shader parameters and props.
      </Card>

      <Card title="Design Tool Integration" icon="pencil" href="https://paper.design">
        Visual design interface in Paper lets designers create shaders without code, then export for developers.
      </Card>

      <Card title="Production Ready" icon="rocket" href="/guides/performance">
        Optimized for real-world use in websites, apps, and products. Wide browser and device support.
      </Card>
    </CardGroup>
  </div>

  <div className="mt-16 mb-16 max-w-5xl mx-auto px-6">
    <h2 className="text-2xl sm:text-3xl font-semibold dark:text-white text-gray-900 mb-3">Explore Shaders</h2>
    <p className="dark:text-gray-400 text-gray-600 mb-8">Discover shader effects by category</p>

    <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
      <a href="/shaders/mesh-gradient" className="group block rounded-2xl border dark:border-[#27272a] border-gray-200 dark:hover:border-[#84acec] hover:border-[#84acec] overflow-hidden no-underline transition-colors">
        <div className="h-48 dark:bg-gradient-to-br from-purple-600 to-blue-500 bg-gradient-to-br from-purple-400 to-blue-400 flex items-center justify-center overflow-hidden">
          <div className="text-center text-white p-6">
            <div className="text-5xl mb-2">🌊</div>
          </div>
        </div>

        <div className="p-6 dark:bg-[#1a1d27] bg-white">
          <h3 className="text-base font-semibold dark:text-white text-gray-900 mb-2">Gradients & Colors</h3>
          <p className="text-sm dark:text-gray-400 text-gray-600 mb-3">Mesh gradients, radial gradients, and flowing color effects</p>

          <div className="flex items-center text-sm dark:text-[#84acec] text-[#84acec] dark:group-hover:text-[#6b94d3] group-hover:text-[#6b94d3]">
            View shaders

            <svg className="ml-1 w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
              <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5l7 7-7 7" />
            </svg>
          </div>
        </div>
      </a>

      <a href="/shaders/perlin-noise" className="group block rounded-2xl border dark:border-[#27272a] border-gray-200 dark:hover:border-[#84acec] hover:border-[#84acec] overflow-hidden no-underline transition-colors">
        <div className="h-48 dark:bg-gradient-to-br from-green-600 to-teal-500 bg-gradient-to-br from-green-400 to-teal-400 flex items-center justify-center overflow-hidden">
          <div className="text-center text-white p-6">
            <div className="text-5xl mb-2">🎨</div>
          </div>
        </div>

        <div className="p-6 dark:bg-[#1a1d27] bg-white">
          <h3 className="text-base font-semibold dark:text-white text-gray-900 mb-2">Noise & Patterns</h3>
          <p className="text-sm dark:text-gray-400 text-gray-600 mb-3">Perlin noise, simplex noise, Voronoi, and abstract patterns</p>

          <div className="flex items-center text-sm dark:text-[#84acec] text-[#84acec] dark:group-hover:text-[#6b94d3] group-hover:text-[#6b94d3]">
            View shaders

            <svg className="ml-1 w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
              <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5l7 7-7 7" />
            </svg>
          </div>
        </div>
      </a>

      <a href="/shaders/dot-orbit" className="group block rounded-2xl border dark:border-[#27272a] border-gray-200 dark:hover:border-[#84acec] hover:border-[#84acec] overflow-hidden no-underline transition-colors">
        <div className="h-48 dark:bg-gradient-to-br from-orange-600 to-red-500 bg-gradient-to-br from-orange-400 to-red-400 flex items-center justify-center overflow-hidden">
          <div className="text-center text-white p-6">
            <div className="text-5xl mb-2">⚡</div>
          </div>
        </div>

        <div className="p-6 dark:bg-[#1a1d27] bg-white">
          <h3 className="text-base font-semibold dark:text-white text-gray-900 mb-2">Animated Effects</h3>
          <p className="text-sm dark:text-gray-400 text-gray-600 mb-3">Dot orbits, spirals, swirls, and dynamic motion effects</p>

          <div className="flex items-center text-sm dark:text-[#84acec] text-[#84acec] dark:group-hover:text-[#6b94d3] group-hover:text-[#6b94d3]">
            View shaders

            <svg className="ml-1 w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
              <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5l7 7-7 7" />
            </svg>
          </div>
        </div>
      </a>

      <a href="/shaders/water" className="group block rounded-2xl border dark:border-[#27272a] border-gray-200 dark:hover:border-[#84acec] hover:border-[#84acec] overflow-hidden no-underline transition-colors">
        <div className="h-48 dark:bg-gradient-to-br from-indigo-600 to-purple-500 bg-gradient-to-br from-indigo-400 to-purple-400 flex items-center justify-center overflow-hidden">
          <div className="text-center text-white p-6">
            <div className="text-5xl mb-2">🖼️</div>
          </div>
        </div>

        <div className="p-6 dark:bg-[#1a1d27] bg-white">
          <h3 className="text-base font-semibold dark:text-white text-gray-900 mb-2">Image Filters</h3>
          <p className="text-sm dark:text-gray-400 text-gray-600 mb-3">Water distortion, dithering, halftone, and glass effects</p>

          <div className="flex items-center text-sm dark:text-[#84acec] text-[#84acec] dark:group-hover:text-[#6b94d3] group-hover:text-[#6b94d3]">
            View shaders

            <svg className="ml-1 w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
              <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5l7 7-7 7" />
            </svg>
          </div>
        </div>
      </a>
    </div>
  </div>

  <div className="mt-16 mb-16 max-w-5xl mx-auto px-6">
    <h2 className="text-2xl sm:text-3xl font-semibold dark:text-white text-gray-900 mb-3">Resources</h2>
    <p className="dark:text-gray-400 text-gray-600 mb-8">Everything you need to build with Paper Shaders</p>

    <CardGroup cols={3}>
      <Card title="Installation" icon="download" href="/installation">
        Setup instructions for React and vanilla JavaScript
      </Card>

      <Card title="Usage Guides" icon="book-open" href="/guides/react-usage">
        Learn best practices and advanced techniques
      </Card>

      <Card title="API Reference" icon="code" href="/api/shader-mount">
        Complete API documentation for all components
      </Card>
    </CardGroup>
  </div>

  <div className="mt-16 mb-16 max-w-5xl mx-auto px-6">
    <div className="rounded-2xl dark:bg-[#1a1d27] bg-gray-50 border dark:border-[#27272a] border-gray-200 p-8 sm:p-12 text-center">
      <h2 className="text-2xl sm:text-3xl font-semibold dark:text-white text-gray-900 mb-4">
        Ready to add stunning shaders to your project?
      </h2>

      <p className="dark:text-gray-400 text-gray-600 mb-8 max-w-2xl mx-auto">
        Get started with Paper Shaders today and bring beautiful WebGL effects to your websites and applications.
      </p>

      <a href="/quickstart" className="inline-flex items-center justify-center px-6 py-3 rounded-lg font-semibold bg-[#84acec] text-white hover:bg-[#6b94d3] transition-colors">
        Start Building
      </a>
    </div>
  </div>
</div>
