FAQ
These are the questions people ask before they trust a model to epanet-js. Each answer is short on purpose. The page that it links to has the detail.
Is this really EPANET, or a re-implementation?
Section titled “Is this really EPANET, or a re-implementation?”It is EPANET. The app writes the model out as an EPANET input file. The Open Water Analytics EPANET toolkit then solves that file, and this toolkit is compiled to run in your browser. View report shows EPANET’s own report text. See What is epanet-js.
Do I need to install anything?
Section titled “Do I need to install anything?”No. Open app.epanetjs.com and you can start work. There is no installer, no license server and no plugin.
Do I need an account?
Section titled “Do I need an account?”No. You can open, draw, edit, run and save models as a guest. You need an account for the early-access features, for full-resolution satellite imagery and for anything on a paid plan. Without an account, satellite tiles stop at zoom 16. At a higher zoom the map offers Register to unlock high resolution satellite images. See Accounts and privacy.

Where is my model stored? Does it go to a server?
Section titled “Where is my model stored? Does it go to a server?”It stays with you. The model lives in your browser while you work. Save writes it to a file that you choose on your own file system. There is no project store on a server. Cloud storage is on the roadmap, and the paid plans show it as Coming soon. See Storage and recovery.
What file format does it save?
Section titled “What file format does it save?”An epanet-js project file, .ejsdb. It carries more than an INP does: zones,
customer points, custom attributes and scenarios. That is why it is the working
format. To make an INP, use File > Export. See
Projects and Import and export.
Can I open my existing INP file?
Section titled “Can I open my existing INP file?”Yes. On import the INP becomes an epanet-js project, and it does not stay an INP. The first time, a File format updated notice explains this. A Partially supported features dialog lists everything that the importer cannot carry across, so you see the gaps immediately. The app rejects an INP with no coordinates, or with coordinates that it cannot read. It shows Coordinates missing or Invalid coordinates instead of a partial import. See Open an existing model.
Which browser do I need?
Section titled “Which browser do I need?”A current desktop browser. The map needs WebGL, and the app tells you plainly when it cannot start WebGL. Two other things vary by browser:
- Recent projects on the welcome dialog needs the File System Access API. Today that means a Chromium browser (Chrome, Edge, Brave and the rest). On other browsers the welcome dialog shows the demo networks.
- A run needs browser storage, and private and incognito windows block that storage. In one of those windows, Simulate explains why the model cannot run.
The app is built for a desktop-sized window. On a small screen it warns you before you start.
Does it work offline?
Section titled “Does it work offline?”Edits and runs do not depend on the network, because the model and the engine are both in the page. The base map does depend on it. When the connection drops, a No internet connection notice appears and the map switches to Map offline mode. Connection restored! tells you when the connection is back. While you are offline, map tiles that you did not already load do not appear.
What does it cost?
Section titled “What does it cost?”There is a free plan, and there are paid plans. The Upgrade dialog splits the plans by how you will use the app. A switch between Commercial use and Non-commercial use changes which three cards you see. One side shows Free, Pro and Teams. The other side shows Free, Personal and Education. These features sit behind a paid plan: scenarios, custom map layers, zones, the pipe library, custom attributes and custom elevation sources. See Plans.

Is there a free license for students and teachers?
Section titled “Is there a free license for students and teachers?”Yes. The Education plan costs nothing, and it carries everything that the Personal plan carries. You register with a student email address through Use student email on the Upgrade dialog. If the address does not validate, that card links to the help for it. See Education.
How large a model can I open?
Section titled “How large a model can I open?”No plan limits the size. No limits on sizes is one of the listed features of the free plan. The real limit is the memory of your browser. A very large extended-period run can still end on an Out of memory dialog. That dialog suggests a new run with fewer timesteps or a smaller network. See Running a simulation.
Can I work in my own language?
Section titled “Can I work in my own language?”The interface comes in seven languages. You choose one from Language in the menu bar, and on the first visit the app detects it from your browser. Numbers follow the decimal and grouping symbols of your locale. Five of the seven languages are marked as beta: Portuguese, French, Dutch, Japanese and Indonesian. While one of these five is active, the welcome dialog says so. See Languages.

What does epanet-js have that EPANET does not?
Section titled “What does epanet-js have that EPANET does not?”Zones, customer points, custom attributes and scenarios have no EPANET equivalent. The map itself has none either: a real background map, satellite imagery and your own GIS layers under the network. The app gets elevations from terrain data as you place nodes, and you do not type them in. Each of these has its own page: Zones, Customer points, Custom attributes, Scenario work, The map and its layers and Elevations.
Something is wrong. Where do I go?
Section titled “Something is wrong. Where do I go?”Write to support@epanetjs.com, or open an issue on GitHub. Say what you did, what you expected and what happened instead. For something that is missing rather than broken, the Roadmap entry in the Help menu opens the public roadmap, where you can upvote an entry and comment on it.
Is it open source?
Section titled “Is it open source?”The source of the app is under the Functional Source License (FSL-1.1-MIT), and each commit becomes MIT two years after it lands. That license permits personal, research, educational and internal use. In the meantime it does not permit you to repackage the app as a competing product. The Open source entry in the menu bar links to the repository.