# JavaScript heap out of memory

> Getting the error “JavaScript heap out of memory”? Here is how to fix it. Node’s default memory is too small for this production bundle.

**JavaScript heap out of memory.** Node hit its default memory limit while bundling. Big apps and source maps can go over it.

- Web build. The web build ran out of memory.
- Interactive page: https://capwr.app/free-tools/build-error-explainer/javascript-heap-out-of-memory
- Build error explainer: https://capwr.app/free-tools/build-error-explainer
- Last updated: 2026-10-03

## What this error means

Node hit its default memory limit while bundling. Big apps and source maps can go over it.

## Why it happens

Node’s default heap is not enough for this production bundle. The process is killed while Vite or another bundler is still building.

## The message tools print

```
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
```

## How to fix it

1. Raise the limit for the build step: NODE_OPTIONS=--max-old-space-size=4096.
2. Turn off production source maps if you don’t need them.

## Check a log that shows this

Paste the failing step into the [build error explainer](https://capwr.app/free-tools/build-error-explainer). It matches this message, and any others in the same log, in your browser. Nothing is uploaded.

## Other Web build errors

- [npm ci needs an existing package-lock.json](https://capwr.app/free-tools/build-error-explainer/npm-ci-package-lock-json)
- [npm ci: lockfile is out of sync with package.json](https://capwr.app/free-tools/build-error-explainer/npm-ci-lockfile-out-of-sync)
- [npm ERESOLVE unable to resolve dependency tree](https://capwr.app/free-tools/build-error-explainer/npm-eresolve)
- [Rollup failed to resolve import](https://capwr.app/free-tools/build-error-explainer/rollup-failed-to-resolve-import)
- [error TS: TypeScript errors stop the build](https://capwr.app/free-tools/build-error-explainer/typescript-error-ts)
- [Could not find the web assets directory](https://capwr.app/free-tools/build-error-explainer/could-not-find-the-web-assets-directory)
- [Capacitor: Invalid App ID](https://capwr.app/free-tools/build-error-explainer/invalid-app-id)

## Build the web app before the native one

CapWrapp installs dependencies from the lockfile, builds the site, and runs Capacitor sync before the native build, from the GitHub repo you connect.

[Get started free](https://capwr.app/login).

## About CapWrapp

CapWrapp turns a web app on GitHub — built with Lovable, Bolt, Base44, Cursor or by hand — into iPhone and Android apps. It adds Capacitor if the repo needs it, signs the builds, and ships them to TestFlight and Google Play from GitHub Actions, with no Mac or Xcode on your side. [Get started free](https://capwr.app/login) · [Lovable to App Store guide](https://capwr.app/guides/lovable-to-app-store)
