Using to embed python code in an external website lets you write, run, debug and share python code in your browser. It’s designed for use in the classroom as a free online resource for teachers to help students grow in confidence, independence and resilience when writing python code. uses a subset of the python language which runs in your web browser. This allows you to safely run python code on almost any web-enabled device.

This is guide is for developers who have an educational tool which contains / generates python code, who want to allow users to view / edit / run that code with all the features that supports (e.g. microbit / pygame zero / gpiozero / tkinter emulation).

If you’re just looking to embed code that you’ve written in you don’t need this facility: just save your code (or Ctrl + S) and press the share button (or Alt + Shift + S) and you’ll find a link to easily link to or embed your code in your website or blog. If you use wordpress, this plugin is designed to simplify embedding python code:

Embed python code in an external website with


This service is currently provided for free for all for educational use.

If you use this service, the URL and IP address of the computer posting python code is logged to track usage.

Usage may have to be limited if this service is abused. Please get in touch if you have any questions.

Please note

All you need to do is post the python code to via HTTP with the following parameters:

Parameter: py_files:

The code you want to display or run

This can be the contents of one python code e.g.

for i in range(10,0,-1):
print("Blast off")

or it can be a JSON collection of multiple files e.g.

"":"with open('readme.txt') as f: \n\t print(",
"readme.txt":"You can read from and write to files with"

Parameter: mode:

The way you want the code to be displayed.


normal: (default) load the code in a normal window with full toolbar and ads

embed: load the code in an editor window ideal for embedding in another site (no ads, {+} button pops out into a new window)

run: displays the result of the code running rather than the code itself

Try it:


HTTP method: post