Anvil is free for classroom use. If you are a student or instructor who wants to use Anvil’s paid features for educational purposes, fill out our education contact form and we’ll be in touch.

Learning to code, using Anvil

Learning to code, using Anvil

Hands-on learning

Anvil allows for a hands-on learning environment where students can build interactive web apps that can be shared with anyone. Anvil apps are already live on the web, so with one click, students can see whats possible with the power of Python.





I built a machine learning competition site in Anvil for a machine learning class I’m teaching this semester […] I wanted to show the students that you don’t have to be a big tech company to make an app that is really easy to use and really useful, and the students are getting a lot out of it and I really enjoyed making it. I was able to put it together in a day which was pretty amazing.

Robert Ritz

Founder, LETU Mongolia

Dragging and dropping buttons onto a Form

Dragging and dropping buttons onto a Form

Python is all you need

Students don’t need to learn HTML, CSS, JavaScript and SQL to build a web app. Building a UI is as simple as dragging and dropping components onto a page. Since everything is in Python, Anvil lets you introduce object-oriented, event-driven programming, without needing to teach five different languages at the same time.


I only have my students for two years. I just don’t have the time to get them through all of Python, CSS, HTML, JavaScript, etc. With Anvil, they can deploy real, useful web based applications and re-enforce their Python skills at the same time.

Robert Ball

Instructor, James Rumsey Technical Institute

Connect to Jupyter notebooks

Students can connect the code they have running in Jupyter or Google Colab notebooks and connect them to a web app. Make data science and machine learning projects interactive by building a front-end for them with Anvil. Learn how!


Prior to Anvil, there was no standalone system that would allow a Jupyter Notebook to connect to a web application in such a user-friendly fashion.

Joshua Tan

Assistant Professor, LaGuardia Community College, CUNY


Everything is a Python object

Anvil web Forms, and all their components, are Python objects. Once pupils know the basics of classes and methods they are ready to create dynamic web apps.

With its object-oriented UI model, Anvil is a great way to teach object-oriented coding.

Adding a button click event

Adding a button click event


Full control with GitHub and version control

Anvil has built-in Git version control, allowing students to collaborate on apps together. Create branches, commit contributions, merge changes and resolve conflicts all within the Anvil Editor. Easily connect to public GitHub repositories for powerful code review tools. Students can see the full history of their projects and revert to old versions if they make a mistake.


Database management

Anvil includes a database service out of the box! Using Anvil’s built-in database means querying and editing data with no-nonsense Python statements. Students can use Python code to create, read, update and delete rows from a table with no need to learn SQL.

A database table backed by Postgres

A database table backed by Postgres


Access to support

Learning new syntax is effortless with code editor auto-completion. There is full documentation, helpful articles and tutorials, as well as an active forum for when you or your pupils need a hint.


Free for classroom use

Anvil is free to use. We also offer our professional features for free to educational institutions to use in the classroom! Fill out our education contact form to get a licence or email education@anvil.works to find out more.


Find out more

So why not use Anvil to get students writing graphical web apps? Here are some simple app builds to inspire you: