# Customizing "Page doesn't exist" page

**URL:** https://meta.discourse.org/t/customizing-page-doesnt-exist-page/103322
**Category:** Support
**Created:** [December 3, 2018, 6:04am UTC](https://meta.discourse.org/t/customizing-page-doesnt-exist-page/103322 "2018-12-03T06:04:20Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![marina](https://avatars.discourse-cdn.com/v4/letter/m/f05b48/32.png) [@marina](https://meta.discourse.org/u/marina)
#### Post date: [December 3, 2018, 6:04am UTC](https://meta.discourse.org/t/customizing-page-doesnt-exist-page/103322/1 "2018-12-03T06:04:21Z")

</div>

Hi community!

I am trying to customize the “Page doesn’t exist” page. It currently shows the words " Oops! That page doesn’t exist or is private.". However, I would like to replace this with an image instead. Is there any way to do this? I was thinking of using plugin-outlets but there does not seem to be one for it. Thanks in advance.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [July 14, 2019, 9:47am UTC](https://meta.discourse.org/t/customizing-page-doesnt-exist-page/103322/2 "2019-07-14T09:47:57Z")

</div>

Maybe we should have a plugin outlet for this @eviltrout?

---

<div class="post-metadata">

### Author: ![eviltrout](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/eviltrout/32/5275_2.png) [@eviltrout](https://meta.discourse.org/u/eviltrout)
#### Post date: [July 15, 2019, 2:03pm UTC](https://meta.discourse.org/t/customizing-page-doesnt-exist-page/103322/3 "2019-07-15T14:03:08Z")

</div>

Unfortunately it’s not simple since there are two versions of that page. One is generated server side and one is generated client side, depending on the error. We could add an outlet to the client side page but you wouldn’t always see it. Also I should note that page is used for _all_ exceptions so you’d have to differentiate between a network error, a 500 error, a 404, etc.

---

<div class="post-metadata">

### Author: ![AndreasZhou](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/andreaszhou/32/212049_2.png) [@AndreasZhou](https://meta.discourse.org/u/AndreasZhou)
#### Post date: [July 30, 2021, 2:13pm UTC](https://meta.discourse.org/t/customizing-page-doesnt-exist-page/103322/4 "2021-07-30T14:13:03Z")

</div>

Just wanted to check, if there is any way to solve this yet? We would love to modify that page too if possible at all.

---

<div class="post-metadata">

### Author: ![eviltrout](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/eviltrout/32/5275_2.png) [@eviltrout](https://meta.discourse.org/u/eviltrout)
#### Post date: [July 30, 2021, 4:02pm UTC](https://meta.discourse.org/t/customizing-page-doesnt-exist-page/103322/5 "2021-07-30T16:02:44Z")

</div>

It has not changed, sorry.

---

<div class="post-metadata">

### Author: ![AndreasZhou](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/andreaszhou/32/212049_2.png) [@AndreasZhou](https://meta.discourse.org/u/AndreasZhou)
#### Post date: [July 30, 2021, 5:11pm UTC](https://meta.discourse.org/t/customizing-page-doesnt-exist-page/103322/6 "2021-07-30T17:11:31Z")

</div>

Sure understand. Thanks for the fast reply.

---

<div class="post-metadata">

### Author: ![Frank\_Johnette](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/frank_johnette/32/204914_2.png) [@Frank\_Johnette](https://meta.discourse.org/u/Frank_Johnette)
#### Post date: [April 14, 2022, 1:56am UTC](https://meta.discourse.org/t/customizing-page-doesnt-exist-page/103322/7 "2022-04-14T01:56:25Z")

</div>

I was able to customize the message with a little Javascript:

```plaintext
window.addEventListener("DOMContentLoaded", function(){
    document.querySelector('.page-not-found .title').innerHTML = "NEW MESSAGE HERE";
});

```

The script replaces the HTML where the ‘Oops! That page doesn’t exist or is private’ is located. I haven’t tried it, but in theory, you could add HTML to render a picture.
