Cómo ejecutar Python y HTML en el navegador

Última actualización: 13 de agosto de 2026
  • PyScript permite embeber Python en HTML mediante WebAssembly, soportando librerías potentes como NumPy y Pandas.
  • Brython traduce el código Python a JavaScript, siendo ideal para manipular el DOM y elementos SVG de forma ligera.
  • WebAssembly es la tecnología clave que permite ejecutar lenguajes compilados en la web con un rendimiento casi nativo.
  • Existen alternativas tradicionales basadas en servidor como Flask y Django para manejar la lógica de backend.

Primer plano de código HTML5 en un editor de texto con tema oscuro, representando la estructura de una página web.

Llevar la potencia de Python al entorno del navegador ha sido durante mucho tiempo el sueño de muchos desarrolladores. Hasta hace nada, si querías que algo se moviera en la web, JavaScript era el rey indiscutible y la única opción viable para ejecutar lógica en el cliente sin depender de un servidor externo.

Sin embargo, el panorama ha cambiado radicalmente gracias a la aparición de diversas herramientas y estándares que permiten romper las barreras del backend. Hoy en día, existen múltiples caminos para integrar Python con HTML, desde compiladores que traducen el código hasta el uso de tecnologías binarias que permiten un rendimiento sorprendente directamente en la pestaña de tu navegador líder como Chrome.

Python Ventajas y Desventajas
Related article:
Python Ventajas y Desventajas

PyScript: La revolución de Anaconda

Detalle de sintaxis de programación en Python con resaltado de colores en un entorno de desarrollo moderno.

Uno de los saltos más importantes se produjo con el lanzamiento de PyScript por parte de Anaconda. Este framework no es más que una capa envolvente sobre Pyodide, Emscripten y WebAssembly (Wasm), lo que permite que Python se ejecute en el cliente de forma casi transparente. Lo más atractivo es que permite escribir código Python directamente dentro de etiquetas HTML personalizadas como <py-script>, facilitando enormemente la creación de aplicaciones interactivas.

  Qué es CSS: La Guía Definitiva para Principiantes

Para ponerlo en marcha, basta con incluir los archivos CSS y JS de PyScript en el encabezado del documento. Una de sus grandes ventajas es que soporta librerías pesadas como NumPy, Pandas o Scikit-learn, las cuales se pueden configurar mediante la etiqueta <py-env>. Además, PyScript ofrece una comunicación bidireccional con JavaScript, permitiendo manipular el DOM del navegador mediante el módulo js de Python.

aprender a programar en Python
Related article:
5 Herramientas para Aprender a Programar en Python

En cuanto a la interfaz, PyScript no se queda corto, ya que ofrece componentes de UI integrados como <py-button> o <py-inputbox>, que ejecutan funciones de Python al interactuar con ellos. No obstante, hay que tener en cuenta que, al basarse en WebAssembly, el tiempo de carga inicial puede ser elevado y el rendimiento en dispositivos móviles puede verse comprometido.

Brython: Python traducido a JavaScript

Código de Python procesando datos JSON en una pantalla, ilustrando la potencia de la lógica de programación.

Si buscamos una alternativa más ligera en términos de carga, Brython es una opción clásica. A diferencia de PyScript, Brython es una implementación de Python 3 escrita totalmente en JavaScript que traduce el código de Python para que el navegador pueda entenderlo. Para que funcione, es imprescindible llamar a la función brython() en el evento onload del cuerpo del HTML.

Brython destaca por su capacidad para interactuar con elementos HTML y SVG. Mediante el uso del objeto document, es posible inyectar contenido dinámicamente o dibujar figuras geométricas en un lienzo SVG utilizando operadores propios como =< para añadir nodos al árbol del documento. A pesar de su versatilidad, tiene limitaciones: no soporta todos los módulos de la biblioteca estándar y requiere que la entrada y salida de datos se gestione a través de elementos HTML, ya que print() o input() no funcionan de la manera tradicional.

aprender Python en Windows
Related article:
Cómo aprender Python en Windows paso a paso

Otras implementaciones y comparativas

Desarrolladora escribiendo código en un portátil con un libro de Python al lado, simbolizando el aprendizaje y la implementación del lenguaje.

El ecosistema es amplio y existen otros proyectos interesantes. Por un lado tenemos a Skulpt, que soporta Python 2 y 3 mediante JavaScript, y a Transcrypt, que actúa como un compilador hacia JS, aunque este último parece haber quedado en el olvido. También existe VistaPython, que propone un enfoque distinto mediante un intérprete de bytecode escrito en JavaScript y un analizador generado con Antlr, lo que facilita la actualización a nuevas versiones de Python.

  Cómo evitar la fatiga Full Stack y el burnout: guía completa y aplicable

Si comparamos los enfoques, vemos que Brython y Skulpt usan analizadores manuales difíciles de mantener. Por el contrario, Pyodide (la base de PyScript) es un port real de CPython a WebAssembly, lo que garantiza una compatibilidad mucho mayor, aunque a costa de ser un paquete mucho más pesado de descargar. VistaPython intenta buscar un equilibrio entre flexibilidad y peso, optimizando los perfiles de carga para que las aplicaciones sean rápidas en cualquier dispositivo.

Métodos tradicionales y backend

No todo tiene que ocurrir en el navegador. Para muchos, la forma más robusta de unir Python y HTML sigue siendo el uso de frameworks de servidor como Flask en Python o Django. En este esquema, Python gestiona la lógica en el servidor y envía el HTML renderizado al cliente, o bien actúa como una API REST que intercambia datos en formato JSON con un frontend escrito en JavaScript mediante fetch o axios.

web2py
Related article:
Guía completa sobre web2py: el framework web de Python explicado al detalle

Existen también métodos más antiguos como CGI (Common Gateway Interface), que aunque hoy se consideran obsoletos por su complejidad, fueron la base de la web dinámica. Para quienes solo necesitan presentar datos, convertir notebooks de Jupyter a HTML es la vía más rápida para publicar informes técnicos sin complicaciones técnicas.

El motor detrás de todo: WebAssembly

La verdadera magia que permite que lenguajes como Python, C++ o Rust lleguen a la web es WebAssembly (Wasm). Este estándar abierto permite la ejecución de código binario con un rendimiento cercano al nativo. Gracias a Wasm, empresas como Adobe han podido portar Photoshop a la web, y AutoCad o Figma han optimizado sus procesos de carga y procesamiento de datos de forma drástica.

  ESP32 y sus funcionalidades: guía completa del micro más versátil

La capacidad de ejecutar Python en el cliente, ya sea mediante la traducción de Brython o la potencia binaria de PyScript, abre un mundo de posibilidades para crear herramientas de ciencia de datos y aplicaciones complejas sin que el usuario tenga que instalar nada en su ordenador, democratizando el acceso a la programación avanzada.

La integración de Python en la web ha evolucionado desde simples scripts en el servidor hasta la ejecución binaria mediante WebAssembly, permitiendo elegir entre la ligereza de la traducción a JavaScript con Brython o la potencia completa de PyScript y Pyodide, transformando así la manera en que concebimos el desarrollo frontend.

hacer agente IA en Python
Related article:
Cómo crear un agente de IA en Python desde cero