# Hosting Pluto Notebooks online

**URL:** <https://discourse.julialang.org/t/hosting-pluto-notebooks-online/94529>\
**Category:** General Usage\
**Tags:** pluto\
**Created:** [February 12, 2023, 7:36pm UTC](https://discourse.julialang.org/t/hosting-pluto-notebooks-online/94529 "2023-02-12T19:36:45Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![mmj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mmj/32/46304_2.png) [@mmj](https://discourse.julialang.org/u/mmj)\
**Post date:** [February 12, 2023, 7:36pm UTC](https://discourse.julialang.org/t/hosting-pluto-notebooks-online/94529/1 "2023-02-12T19:36:45Z")

</div>

Hello.  
I am currently working on a Pluto notebook, and I chose to use Pluto because of the excellent interactivity it allows. I am wondering how I can make the notebook available online. I have seen online that Binder is the one that is used most of the time.  
I don’t know if I am correct, but from what I have researched about Binder before, it allows the user to edit the code, and such edit is saved and can be viewed by other users later. If this is not correct, please inform me. I would like to know if I there is a way to put the notebook online so that the user can’t edit the code or markdown, or, at least, that the edits that a user makes can only be seen by the user that made them and such that whenever the user reopens the notebook his edits have been deleted.  
I hope I have made myself clear.  
Thank you.

---

<div class="post-metadata">

**Author:** ![Dictino](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dictino/32/217281_2.png) [@Dictino](https://discourse.julialang.org/u/Dictino)\
**Post date:** [February 12, 2023, 10:49pm UTC](https://discourse.julialang.org/t/hosting-pluto-notebooks-online/94529/2 "2023-02-12T22:49:53Z")

</div>

If you put a Pluto notebook on Binder the user can edit the notebook, but as soon as the user disconects the changes will be lost.

---

<div class="post-metadata">

**Author:** ![mmj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mmj/32/46304_2.png) [@mmj](https://discourse.julialang.org/u/mmj)\
**Post date:** [February 21, 2023, 2:36pm UTC](https://discourse.julialang.org/t/hosting-pluto-notebooks-online/94529/3 "2023-02-21T14:36:31Z")

</div>

Hello. Thank you for your response. I hope it is not too late for you to help me once again.  
I don’t know if or what I am doing wrong, but apperently Binder doesn’t format the Pluto notebook properly. From what I have tried, Binder doesn’t allow the interactive widgets present in Pluto, instead showing the raw code. What can be done?

---

<div class="post-metadata">

**Author:** ![Dictino](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dictino/32/217281_2.png) [@Dictino](https://discourse.julialang.org/u/Dictino)\
**Post date:** [February 21, 2023, 3:08pm UTC](https://discourse.julialang.org/t/hosting-pluto-notebooks-online/94529/4 "2023-02-21T15:08:58Z")

</div>

It does (unless there is some error).  
Do you have a minimum working example that reproduce this error?

---

<div class="post-metadata">

**Author:** ![mmj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mmj/32/46304_2.png) [@mmj](https://discourse.julialang.org/u/mmj)\
**Post date:** [February 24, 2023, 2:14pm UTC](https://discourse.julialang.org/t/hosting-pluto-notebooks-online/94529/5 "2023-02-24T14:14:49Z")

</div>

I cannot share with you what I am working on right now. But I initially tried to generate the Binder link for the Pluto notebook the same way I would do with a .ipynb notebook. I uploaded it on GitHub and put the url for it in the Binder page. Is there a special configuration that need to be done?  
Also, I noticed the Pluto allows you to export your notebook as a HTML file, but it when I tried to execute it on a browser, the interactive tools were not loading. Is that normal?

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [February 24, 2023, 2:17pm UTC](https://discourse.julialang.org/t/hosting-pluto-notebooks-online/94529/6 "2023-02-24T14:17:37Z")

</div>

> [@mmj](#):
>
> but it when I tried to execute it on a browser

you can’t execute Julia in a browser, the exported HTML is for viewing only

---

<div class="post-metadata">

**Author:** ![mmj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mmj/32/46304_2.png) [@mmj](https://discourse.julialang.org/u/mmj)\
**Post date:** [February 24, 2023, 2:23pm UTC](https://discourse.julialang.org/t/hosting-pluto-notebooks-online/94529/7 "2023-02-24T14:23:09Z")

</div>

I see… Well, how can I execute Pluto notebooks in a browser then? I am so lost…

---

<div class="post-metadata">

**Author:** ![Olivier\_Merchiers](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/olivier_merchiers/32/4073_2.png) [@Olivier\_Merchiers](https://discourse.julialang.org/u/Olivier_Merchiers)\
**Post date:** [February 24, 2023, 3:06pm UTC](https://discourse.julialang.org/t/hosting-pluto-notebooks-online/94529/8 "2023-02-24T15:06:05Z")

</div>

Hi,

I’ve followed the instructions [here](https://github.com/fonsp/pluto-on-binder) and it worked for me.  
It does take some time to load the page though, but once it was loaded, I could do everything.

Best,  
Olivier

---

<div class="post-metadata">

**Author:** ![mmj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mmj/32/46304_2.png) [@mmj](https://discourse.julialang.org/u/mmj)\
**Post date:** [February 25, 2023, 6:22pm UTC](https://discourse.julialang.org/t/hosting-pluto-notebooks-online/94529/9 "2023-02-25T18:22:39Z")

</div>

Hello Olivier. Thank you very much for the help. It seems like a good solution. However, I have seen a few issues with this. I generated a link yesterday and when I tried to use it again today, I got an error message, saying that the Binder could not be found due to an error or was removed because it was too old. Any idea why this happens?  
Also, in contrast to what Dictino said above, I noticed that when I made a change to the notebook, even after closing the browser and restarting the computer, the change I had made could still be seen. Any explanation as to why?  
Thank you.

---

<div class="post-metadata">

**Author:** ![mmj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mmj/32/46304_2.png) [@mmj](https://discourse.julialang.org/u/mmj)\
**Post date:** [February 25, 2023, 6:24pm UTC](https://discourse.julialang.org/t/hosting-pluto-notebooks-online/94529/10 "2023-02-25T18:24:51Z")

</div>

Hello Dictino. I tried making a change to a Pluto notebook I had put on Binder and even after closing the browser and restarting the computer, the change I had made could still be seen. Any explanation as to why? Thank you.

---

<div class="post-metadata">

**Author:** ![Olivier\_Merchiers](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/olivier_merchiers/32/4073_2.png) [@Olivier\_Merchiers](https://discourse.julialang.org/u/Olivier_Merchiers)\
**Post date:** [February 26, 2023, 2:59pm UTC](https://discourse.julialang.org/t/hosting-pluto-notebooks-online/94529/11 "2023-02-26T14:59:03Z")

</div>

Unfortunately I have very little experience with pluto notebooks. If you post the error message, maybe a pluto dev could help out?

---

<div class="post-metadata">

**Author:** ![Dictino](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dictino/32/217281_2.png) [@Dictino](https://discourse.julialang.org/u/Dictino)\
**Post date:** [February 27, 2023, 9:10am UTC](https://discourse.julialang.org/t/hosting-pluto-notebooks-online/94529/12 "2023-02-27T09:10:52Z")

</div>

That is weird  
Can you show a MWE(minimal working example) that I can look at?  
You don’t need to show your actual code (that you cannot share) but a simple example deployed in Binder so we can test that the changes are persistent…
