# Processing in the browser : one day?

**URL:** <https://discourse.processing.org/t/processing-in-the-browser-one-day/47665>\
**Category:** Development\
**Created:** [December 25, 2025, 6:26pm UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665 "2025-12-25T18:26:01Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![EricRogerGarcia](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/ericrogergarcia/32/21029_2.png) [@EricRogerGarcia](https://discourse.processing.org/u/EricRogerGarcia)\
**Post date:** [December 25, 2025, 6:26pm UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/1 "2025-12-25T18:26:01Z")

</div>

Hello 🎄 ,

Today, it is possible to run a Java program in a browser through systems like TeaVM (or others), but this requires mastering somewhat complex things like Maven or Graven.

Will there be an export in Processing one day to obtain the same kind of things, that is to say running a Processing Program without having to rewrite it in P5js which remains painful as soon as a project is a little complex (that’s why Typescript exists!)?

😃

---

<div class="post-metadata">

**Author:** ![josephh](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/josephh/32/210_2.png) [@josephh](https://discourse.processing.org/u/josephh)\
**Post date:** [February 11, 2026, 11:28am UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/2 "2026-02-11T11:28:35Z")

</div>

Hi @EricRogerGarcia,

In the first place why would you want to run your Processing/Java project in the browser? Is your project too big to convert it to p5.js?

The difficult part of running a Java program in a web browser is that if you use any kind of specific Java APIs or libraries then it might break or you’ll need advanced Maven/Gradle configuration.

If you are starting a new project, just use [p5.js](https://p5js.org/).

You might want to take a look at:

> [@Best way to run processing sketch in webpage](https://discourse.processing.org/t/best-way-to-run-processing-sketch-in-webpage/537):
>
> Is processingJS the best way to run processing on a webpage? I want the fastest/most convenient way to make an interactive visual element, such as a banner or an animated canvas background - and possibly experiment with site navigation inside a processing sketch assuming it’s possible.

---

<div class="post-metadata">

**Author:** ![EricRogerGarcia](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/ericrogergarcia/32/21029_2.png) [@EricRogerGarcia](https://discourse.processing.org/u/EricRogerGarcia)\
**Post date:** [February 11, 2026, 2:15pm UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/3 "2026-02-11T14:15:24Z")

</div>

Hello,

because you may want it to work on a desktop application AND in the browser. I know there is a current work on a new way on using p5js in the processing editor with nodejs so it should be possible to make applications too with it. it may be an answer !

In case, one use mainly, Processing, it should be possible to make an exportation in the browser with javascript and asm (but it is maybe too difficult, I don’t know).

It would be possible too to make an exportation of a processing program to a p5js one. It had been made in processing 3 (event if it was only a start).

It is difficult to use p5js with big applications (the problems are with javascript, not with p5js) that’s why typescripts exists. If there was some kind of exportation from processing to the web. Java in processing would be some kind of replacement for typescript (with this simple and quite powerful enough editor).

**I’m currently working on a project with two versions : one in processing and one in P5js ([see here](https://codeberg.org/EricRG/PstarEngine))/ It’s time consuming to translate every modifications in Processing to P5js !**

I can clearly see that there is a tendency to want to delete Processing and replace it entirely with P5js simply in my opinion for a fashion effect against Java (in the people who work for the foundation: why otherwise the question, in the last questionnaire whether it would be a serious problem for users?): I find that REALLY unfortunate!!!

**In my opinion, presenting Processing as a kind of alternative to Typescript (with an export for the web) would be much more interesting for many peopl**e!

Processing makes it possible to approach Java (and even do quite a few things with it) by making it as simple to approach as Python for example. It would be very sad if it disappeared!!!

Java is one of the most used languages with Python, Javascript and C# (C/C++ apart from that): what do you have against Java!!!???

A huge amount of work has been done with Processing, it’s great: and some would like to put all this fantastic work in the trash!!!???

**There are no programming languages better than others! There are only different use cases: that’s why it’s so good that Processing exists (mainly) in Java and Javascript version. I take this opportunity to greet with all my heart the work on Py5!!!**

P.S. Thank you very much for giving me the opportunity to give my opinion on this:)

And one last word for the foundation (and it’s the same thing for other projects): organizations ask (and it’s quite normal) that we send them money to support them.  
… but to do what with?

If we could indicate which specific project we wished to support, then we would necessarily send more money!!! … but no, it wouldn’t come to the idea of proposing this kind of thing!!!

**P.S. and I wouldn’t write here if I wouldn’t loving this project… for 20 years or more !**

---

<div class="post-metadata">

**Author:** ![lee](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/lee/32/21413_2.png) [@lee](https://discourse.processing.org/u/lee)\
**Post date:** [February 12, 2026, 8:04am UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/4 "2026-02-12T08:04:28Z")

</div>

You seem quite passionate here but just pointing out that Processing has paid developers working on Processing, and that’s in addition to many other contributors. They clearly want it to thrive. You can see this on the [People](https://processingfoundation.org/people) page, and there are a [dozen commits, many issues, and conversations](https://github.com/processing/processing4/pulse) on Processing 4 including by Processing Foundation folks in the last week alone, in addition to libraries and documentation site they maintain.

---

<div class="post-metadata">

**Author:** ![EricRogerGarcia](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/ericrogergarcia/32/21029_2.png) [@EricRogerGarcia](https://discourse.processing.org/u/EricRogerGarcia)\
**Post date:** [February 12, 2026, 8:57am UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/5 "2026-02-12T08:57:47Z")

</div>

**Thank you very much for your message.**

The truth is that I was extremely surprised by the question asked in the last survey (see my previous message) which feeds my fears about the evolution of the project.  
On the other hand, I see that new functions appear in P5js (which is a very good thing) but they do not appear in Processing.  
One of the major interests of Processing (in different programming languages), in my opinion, is that we have a common base. If the different versions move away from each other…

It’s true that Processing (in general) fascinates me! It’s that I really find it incomparable. Other programming systems addressed (also) to non-programmers (professionals) choose to hide the underlying complexity (which is understandable, it is not a negative criticism). Processing does it completely differently: it facilitates access to this complexity. It’s a completely different approach.

On the other hand, being able to program “in the same way” in different languages is extremely formative. This really helps to understand that programming is not directly related to a particular language. It also, it’s incomparable!

If my fears are completely unfounded, I will be really very happy about it!  
… but why this question in the last survey ???

**N.B.** The idea of being able to support a specific project within a large project like Processing (in general) would be interesting (in my opinion, of course).

friendly

(The question in the last survey I’m talking about was (basically): would it be a major drawback for you if Processing-Java disappeared? )

---

<div class="post-metadata">

**Author:** ![josephh](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/josephh/32/210_2.png) [@josephh](https://discourse.processing.org/u/josephh)\
**Post date:** [February 12, 2026, 9:39am UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/6 "2026-02-12T09:39:22Z")

</div>

I agree on most of your points! I think that having to maintain two separate versions of the “same API” involve quite some work.

Since the web platform is evolving quickly and you can now run literally everything in it (through WASM), the Processing foundation might want to push forward making p5.js the main project (maybe?) 😇

---

<div class="post-metadata">

**Author:** ![ProcessingOrg](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/processingorg/32/18341_2.png) [@ProcessingOrg](https://discourse.processing.org/u/ProcessingOrg)\
**Post date:** [February 12, 2026, 11:51am UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/7 "2026-02-12T11:51:24Z")

</div>

> [@EricRogerGarcia](#):
>
> why this question in the last survey ?

Hi @EricRogerGarcia,

Raphaël here. I am the author of the 2025 Processing Community Survey. I can help answer your questions.

First to be clear, many people rely on Processing daily. The PDE got over one million downloads last year. Supporting the community is a core priority for the Processing Foundation, and we plan to continue maintaining Processing. It is not going away.

Now for context, the survey question you are referring to was:

> If the Processing editor (PDE) were no longer available in the future, how much would this affect your work or teaching?
> 
> _Assume you could write Processing code in other editors such as VS Code, IntelliJ, or Eclipse._

_Side note: this was not about Processing Java but the Processing editor specifically._

with the optional follow-up:

> If you would like, you can describe what would be most difficult to replace and why

The question is phrased this way because surveys often work better with this kind of wording.

If we simply asked people “what do you like most about Processing?”, many would give polite or vague replies. That is a common limitation in surveys. Questions framed as hypothetical changes prompt people to think about the things they really need.

Since we do not collect usage metrics inside the PDE, community feedback like this is the main ways we understand how Processing is actually used. As a small team, we have limited opportunities to run user research, so we try to design questions that give the clearest signal possible.

As mentioned above, the Processing Foundation is committed to securing the future of Processing. In fact, over the past two years we have been actively working to modernize both Processing Java and the PDE.

You can read more in the [4.5.1 release announcement](https://medium.com/@ProcessingOrg/processing-4-5-1-is-officially-out-1bf4e37ccc05), and watch our recent [talk at Libre Graphics Meeting](https://www.youtube.com/watch?v=ngQwedwFyOY) for a deeper look at these recent efforts.

And if you want to follow what’s happening with Processing and the PDE, feel free to join [discord.processing.org](https://discord.processing.org). You can also drop by @moon’s community updates calls on Tuesdays (also on Discord) where we discuss the current development efforts.

@EricRogerGarcia I really appreciate your passion for Processing. And thanks @lee for taking the time to point to the ongoing work and contributors around the project 🙏

Raphaël de Courville  
Processing Community Lead

---

<div class="post-metadata">

**Author:** ![EricRogerGarcia](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/ericrogergarcia/32/21029_2.png) [@EricRogerGarcia](https://discourse.processing.org/u/EricRogerGarcia)\
**Post date:** [February 12, 2026, 12:03pm UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/9 "2026-02-12T12:03:44Z")

</div>

Thank you very much for enlightening me on these questions. And I will go see these links.

That’s great! Thank you!

**P.S.** I hope you are not going to drop the Processing Editor though but of course it depends on what you plan for the future

😄

---

<div class="post-metadata">

**Author:** ![ProcessingOrg](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/processingorg/32/18341_2.png) [@ProcessingOrg](https://discourse.processing.org/u/ProcessingOrg)\
**Post date:** [February 12, 2026, 12:12pm UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/10 "2026-02-12T12:12:40Z")

</div>

No, we are not planning to drop the Processing Editor. To restate:

> [@ProcessingOrg](#):
>
> First to be clear, many people rely on Processing daily. The PDE got over one million downloads last year. Supporting the community is a core priority for the Processing Foundation, and we plan to continue maintaining Processing. It is not going away.

* * *

Non, nous ne prévoyons pas d’abandonner l’éditeur Processing. Comme précisé ci-dessus:

> D’abord pour être clair : beaucoup de personnes utilisent Processing au quotidien. Le PDE a été téléchargé plus d’un million de fois l’an dernier. Soutenir la communauté est une priorité centrale pour la Fondation Processing et nous comptons continuer à maintenir Processing. Il ne va pas disparaître.

Merci pour vos messages!

(Raphaël)

---

<div class="post-metadata">

**Author:** ![glv](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/glv/32/18785_2.png) [@glv](https://discourse.processing.org/u/glv)\
**Post date:** [February 13, 2026, 7:48pm UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/11 "2026-02-13T19:48:28Z")

</div>

Cool beans!

This is stated in link below:

> Processing Foundation is exploring [**#WebGPU**](https://www.linkedin.com/search/results/all/?keywords=%23webgpu&origin=HASH_TAG_FROM_FEED) and [**#WebAssembly**](https://www.linkedin.com/search/results/all/?keywords=%23webassembly&origin=HASH_TAG_FROM_FEED) to bring Processing to the browser

> **[\#webgpu #webassembly #rust #bevyengine #opensource #fosdem2026...](https://www.linkedin.com/posts/processing-foundation_webgpu-webassembly-rust-activity-7427344281125859329-_OTf?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAbVdLYBrcx8sEJ2ljnXn1ONq3vOp3xrRNI)**
>
> Last week, Processing took the stage at FOSDEM. Alongside thousands of other attendees, the team witnessed the sheer power of the open-source community at this massive, fully volunteer-run assembly.
> 
> Processing has spent the last 25 years helping...

`:)`

---

<div class="post-metadata">

**Author:** ![EricRogerGarcia](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/ericrogergarcia/32/21029_2.png) [@EricRogerGarcia](https://discourse.processing.org/u/EricRogerGarcia)\
**Post date:** [February 15, 2026, 10:38pm UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/12 "2026-02-15T22:38:34Z")

</div>

**!!! I will look at this obviously !!!**

Since I can’t take care of 2 different versions of the same code anymore, I think I will only take care of the Javascript version!

What carried my decision, is to have seen the project of using P5js with easy creation of applications in the ongoing (and well advanced it seems) editing project in Processing of P5js with Nodejs and Electron.

.. but if we can one day export Processing in webassembly, I might come back to it later. We’ll see.

In any case, thank you very much for the info

🙂

P.S. I can’t wait to see what the relationship between Processing and BevyEngine is !!!

---

<div class="post-metadata">

**Author:** ![moon](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/moon/32/21773_2.png) [@moon](https://discourse.processing.org/u/moon)\
**Post date:** [February 17, 2026, 2:42pm UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/13 "2026-02-17T14:42:08Z")

</div>

Hi! Come hang out in the discord and follow along with the development [https://discord.processing.org](https://discord.processing.org) we are not super into the WASM just yet, but we are on our way!

in the mean time i love that you’re doing what is right for you! javascript is great!

---

<div class="post-metadata">

**Author:** ![EricRogerGarcia](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/ericrogergarcia/32/21029_2.png) [@EricRogerGarcia](https://discourse.processing.org/u/EricRogerGarcia)\
**Post date:** [February 18, 2026, 10:20am UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/14 "2026-02-18T10:20:10Z")

</div>

Thanks !!!

I add it on the list of links on my project readme text !

**… coming !!!**

**P.S.** I am really happy! Not only were my fears unfounded, but it seems that you are doing, or preparing to do exactly what I wished for Processing/P5js…  
The last thing on my list lol, is for someone to make a tool to translate the code from one version of Processing to another. I started looking to see how this kind of thing was done. I would like to have the time to take care of it because it seems really exciting to achieve but I already have enough to burn with my project: I don’t need to disperse! lol

---

<div class="post-metadata">

**Author:** ![moon](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/moon/32/21773_2.png) [@moon](https://discourse.processing.org/u/moon)\
**Post date:** [February 18, 2026, 1:42pm UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/15 "2026-02-18T13:42:59Z")

</div>

Ohhh a transpiling project sounds really funnnn. It would be an interesting endeavor for sure. If you ever want to show and tell let me know. Though it sounds like a _future_ plan 😉

i appreciate your energy!

---

<div class="post-metadata">

**Author:** ![EricRogerGarcia](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/ericrogergarcia/32/21029_2.png) [@EricRogerGarcia](https://discourse.processing.org/u/EricRogerGarcia)\
**Post date:** [February 18, 2026, 7:38pm UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/16 "2026-02-18T19:38:25Z")

</div>

Well, it ‘d be fun to make it in Processing only so as to be used (or some code parts to be used for other things). The P5js → Processing, would ask the P5js code to have things written in comments like this :

```auto
class Thing {

   constructor(a,b) { // (String,int)
      ...
   }

   aMethod(c,d) { // (PVector,float) : int
      ...
      return e; // e would be an int e.a. a Number in JS used for the int part
   }
}

```

The Processing → P5js should add this sort of comment too

All the tabs of a project would’nt be translated as some tabs would have to be written in P5js (for Processing→P5js or in Processing for P5js-Processing)…when the code is really different for a function or a class. (I had a tab compatibilityCode in Processing, and there is one in the P5js version too).

When I translated Processing code to P5js, the problems I had was only things like forgetting a this somewhere… this kind of things. other things was logical errors I found in the Processing code as well.

Making the tokens doesn’t seem too hard

Making the AST Abstract Syntax Tree is the really interesting part !!!

It doesn’t seem so hard to do… **a long work to do it though**

The Processing code would have to use only one constructor only for a class (using Fluent Interface Design Pattern) because the goal would be to have “the same code” in Processing and P5js.

The idea to not using any library would permit to have this code translated itself to P5js.

This is the state of my reflections on the subject

P.S. Java interfaces would be ignore 🙂

class aClass implements anInterface {

would be translated in JS

class aClass { // implements anInterface

and Interface code would stay the same between

```auto
/* and */

```

I think, for now, that you may don’t use any **enum** in Java and replace it with **Strings** comparison using **hashcode** (so **int** comparison actually) so **enum** could be not translated.

I use **hashcode** in **JS** (not difficult to add to **JS** )

---

<div class="post-metadata">

**Author:** ![sableraph](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/sableraph/32/251_2.png) [@sableraph](https://discourse.processing.org/u/sableraph)\
**Post date:** [February 18, 2026, 10:23pm UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/17 "2026-02-18T22:23:00Z")

</div>

@EricRogerGarcia Though it doesn’t seem actively maintained, you might find the following project interesting.

From the README:

> processing-p5-convert is a source code translator that that converts Processing/Java code to p5.js/Javascript code. It includes a command line tool, and can also be used in the browser to convert and run Processing sketches.
> 
> Source code translation is implemented by parsing the Processing/Java code into a syntax tree. The syntax tree retains all code symbols, which facilitates reconstruction of the source code. processing-p5-convert walks the syntax tree, performing transformations as it reconstructs the source code.

> **[processing-p5-convert](https://dkessner.github.io/processing-p5-convert/)**
>
> source code translator that converts Processing Java code to p5.js Javascript code

> **[GitHub - dkessner/processing-p5-convert: A source code translator that that converts...](https://github.com/dkessner/processing-p5-convert)**
>
> A source code translator that that converts Processing/Java code to p5.js/Javascript code.

---

<div class="post-metadata">

**Author:** ![EricRogerGarcia](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/ericrogergarcia/32/21029_2.png) [@EricRogerGarcia](https://discourse.processing.org/u/EricRogerGarcia)\
**Post date:** [March 3, 2026, 3:56pm UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/18 "2026-03-03T15:56:20Z")

</div>

I’m beginning to study parsing, tokens… AST …

To begin with parsing markdown (with some extensions later like colors, font, font size) I plan to use for rich text in a futur TextArea in my widgets and a markdown editor I want to make.

It’s simpler, to begin with, than making transpilation from P5js to Processing !

🙂

---

<div class="post-metadata">

**Author:** ![Meiller](https://avatars.discourse-cdn.com/v4/letter/m/4af34b/32.png) [@Meiller](https://discourse.processing.org/u/Meiller)\
**Post date:** [July 31, 2026, 9:19am UTC](https://discourse.processing.org/t/processing-in-the-browser-one-day/47665/19 "2026-07-31T09:19:20Z")

</div>

Hi everyone,  
I built a project called p5forge that transpiles Processing-style code to p5.js in the browser.

It is not a full Java compiler, it is a practical converter for common sketch patterns and most Java-like syntax (AST).

The Project also supports PDEZ-Files! See repo.  
Repo: [GitHub - OTH-AW-Meiller/p5forge: Convert Processing-style sketches to p5.js fast, with a built-in browser preview · GitHub](https://github.com/OTH-AW-Meiller/p5forge)
