[](https://npmjs.org/package/ngx-gooey) [](https://stackblitz.com/edit/ngx-gooey)

May 29, 2026 ยท View on GitHub

Preview

The gooey effect for Angular

The 'gooey effect' has been made popular by various (amazing) blogposts over the years. This tiny component makes it easy to use within Angular applications, and has improved the implementation. It is standalone-first and ready for Angular 21.

๐Ÿ“ฆ Installation

npm install ngx-gooey

๐Ÿš€ Usage (Angular 21)

import { Component } from '@angular/core';
import { Gooey } from 'ngx-gooey';

@Component({
  selector: 'app-example',
  standalone: true,
  imports: [Gooey],
  template: `
    <ngx-gooey intensity="medium">
      <div class="blob-container">
        <div class="blob"></div>
        <div class="blob"></div>
        <div class="blob"></div>
      </div>
    </ngx-gooey>
  `,
  styles: [`
    .blob-container {
      display: flex;
      gap: 20px;
      padding: 50px;
    }

    .blob {
      width: 60px;
      height: 60px;
      background: #ff6b6b;
      border-radius: 50%;
    }
  `]
})
export class ExampleComponent {}

NgModule-based apps

If your app still uses NgModules, import the standalone Gooey component in your module's imports:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { Gooey } from 'ngx-gooey';

@NgModule({
  declarations: [AppComponent],
  imports: [
    BrowserModule,
    Gooey,
  ],
  bootstrap: [AppComponent],
})
export class AppModule {}

Template example

<ngx-gooey
  intensity="strong"
  [composite]="true"
  className="my-gooey-effect">
  <div class="animated-elements">
    <div class="circle"></div>
    <div class="circle"></div>
  </div>
</ngx-gooey>

๐ŸŽ›๏ธ Component properties

PropertyTypeDefaultDescription
intensity'weak' | 'medium' | 'strong''medium'Controls the strength of the gooey effect
compositebooleanfalseEnables composite blending for enhanced effects
classNamestringundefinedCSS class to apply to the wrapper element
idstring'gooey-angular'Unique ID for the SVG filter
styleobjectundefinedInline styles to apply to the wrapper

๐Ÿ”„ Version compatibility

ngx-gooey VersionAngular Version
21.x.xAngular 21
20.x.xAngular 20
19.x.xAngular 19

๐Ÿ’ก Tips & best practices

  • Use SVG for best results: While HTML elements work, SVG provides the most consistent cross-browser support.
  • Optimize performance: The gooey effect uses CSS filters, so avoid using too many instances on one page.
  • Safari compatibility: This implementation includes Safari-focused filter handling.

๐Ÿ“š Documentation & examples

Visit the website for:

  • ๐ŸŽจ Interactive examples
  • ๐Ÿ“– Complete API documentation
  • ๐ŸŽฏ Advanced usage patterns
  • ๐Ÿ”ง Configuration options

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

๐Ÿ“„ License

MIT License - see the LICENSE file for details.

Inspired by gooey-react