# Angular: NG8004: No pipe found with name 'async' / 'date' / 'translate' — pipe not imported

**Code:** `NG8004` · **Category:** Angular · **Seen on:** Angular, TypeScript

The template uses a pipe Angular does not know — it is not imported into the component (standalone) or its module.

## Meaning

Pipes must be in scope like components. Built-in pipes (`async`, `date`, `json`, `currency`) come from `CommonModule` or can be imported individually as standalone pipes (`AsyncPipe`, `DatePipe`). Custom and library pipes (ngx-translate, your own) must be declared or imported.

## Common causes

- Standalone component missing `AsyncPipe`, `DatePipe`, `JsonPipe` or `CommonModule` in `imports`
- Custom pipe not declared in a module or not imported (standalone)
- Library module (for example `TranslateModule`) not imported
- Typo in the pipe name
- Pipe declared in another module and not exported

## Quick fix

1. Add the pipe class or `CommonModule` to `imports`
2. Declare custom pipes (or mark them `standalone: true`) and import them where used
3. Check the exact `name` in the `@Pipe` decorator

## Detailed fix by platform

### Angular

1. `imports: [AsyncPipe, DatePipe]` for standalone components
2. NgModule: import `CommonModule` in the module that declares the component

## Code examples

### Standalone pipes

```typescript
import { Component } from '@angular/core';
import { AsyncPipe, DatePipe } from '@angular/common';

@Component({
  selector: 'app-clock',
  standalone: true,
  imports: [AsyncPipe, DatePipe],
  template: `{{ now$ | async | date:'shortTime' }}`,
})
export class ClockComponent { now$ = timer$; }
```

## How to diagnose

1. **Pipe** — Name used in the template?
2. **Scope** — Imported or declared where this component lives?
3. **Custom** — Is it standalone or in a module?

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/angular/ng8004-no-pipe-found)
