Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsAngular’s NG02200 error means NgFor cannot find an iterable differ for the value supplied to it. Check what your *ngFor or ngForOf expression evaluates to: use an iterable such as an array, set, or map to render collection items, or Angular’s KeyValue pipe when you intend to display an object’s keys and values. Angular’s NG02200 guide documents both remedies.
What NG02200 means
NgFor needs an iterable value so Angular can track its items and update the DOM when the collection changes. NG02200 appears when Angular cannot find an iterable differ for the value passed to the directive. The value might come directly from a component property or from a pipe, service, or asynchronous binding; the important question is what that expression evaluates to when Angular renders the template.
As an Amazon Associate I earn from qualifying purchases.
An iterable differ is the strategy Angular uses to detect changes in an iterable. NgForOf uses those detected changes to make corresponding updates to the DOM. The IterableDiffer API describes that role; the IterableDiffers API provides the strategies Angular can find, create, or extend.
How to troubleshoot NG02200
- Locate the binding. Find the template’s
*ngFororngForOfexpression associated with the error. - Inspect its runtime value. Check the value at render time, including the output of any pipe, service call, or asynchronous expression. Do not assume the value has the shape you expect just because its source is intended to return a collection.
- Match the value to the task. If the template should render collection members, make the binding produce an iterable, such as an array, set, or map.
- Use the object-key solution when appropriate. If the source is a plain object and you want its key/value entries, use Angular’s
KeyValuepipe rather than passing the object directly toNgFor.
The right transformation depends on the application’s data and intended output. NG02200 does not prescribe one universal conversion for every object or API response.
#1 Best Overall
Choose the fix for the data you have
| What the template should display | What to bind or use | Why |
|---|---|---|
| Members of a collection | An iterable such as an Array, Set, or Map |
Angular’s NG02200 guidance gives these as examples of iterable values that NgFor can consume. |
| Keys and values from an object | Angular’s KeyValue pipe |
Angular recommends this when the goal is iterating over object keys. |
See Angular’s NG02200 documentation for the official error guidance. Choose based on the value’s actual shape and what the view needs to show—not merely on the name or declared type of the source property.
Should you use NgFor or @for?
NG02200 remains useful when diagnosing an existing NgFor template. For new or updated templates, check your Angular version: the current NgFor API marks the directive deprecated since Angular v20.0 and recommends the @for block instead. This version guidance does not change the underlying diagnosis: inspect the value the template is trying to iterate and ensure the chosen syntax fits the data and intended operation.
Rank #2
When custom iterable differs are relevant
Angular exposes IterableDiffers APIs for finding, creating, and extending differ strategies. Custom differ registration is a specialized option; for most NG02200 errors, first verify the runtime value and correct the template binding or use the KeyValue pipe when iterating an object’s entries.
Recommended Free Tools
Quick Recap
Rank #4
Rank #3
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




