# How to set up hot reload on Electron

> Learn how to set up hot reload in an Electron app with the electron-reloader module, so your window refreshes on every file change without restarting.

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2020-08-22 | Topics: [Tools](https://flaviocopes.com/tags/tools/) | Canonical: https://flaviocopes.com/electron-hot-reload/

When working on an Electron app, it's very handy to set up hot reload, so that the application updates without having to restart it.

You can do that using the [npm](https://flaviocopes.com/npm/) module [electron-reloader](https://github.com/sindresorhus/electron-reloader).

Suppose you have this sample Electron application:

> index.js

```js
const { app, BrowserWindow } = require('electron')

function createWindow() {
  // Create the browser window.
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
    },
  })

  // and load the index.html of the app.
  win.loadFile('index.html')
}

app.whenReady().then(createWindow)
```

> index.html

```html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Hello World!</title>
  </head>
  <body>
    <h1>Hello World!</h1>
  </body>
</html>
```

Install `electron-reloader` as a development dependency:

```
npm install -D electron-reloader
```

Then add this line to the `index.js` file:

```js
try {
  require('electron-reloader')(module)
} catch (_) {}
```

and that's it! Now when you start the application using `electron .`, or `npm start` if you have

```
"start": "electron .",
```

in your `package.json`, any change you apply to the application files will be reflected in the application window.
