C++ Python JavaScript C HTML CSS Other


CEF Python

Table of contents:

Important notes

  • Branches cefpython51/52/53+ with latest Chrome are tested and work only on Linux currently. Instructions for building these are in docs/Build-instructions.md. Beta downloads are available on the Github Releases page. Pre-releases are also available on PyPI.
  • The last stable release that works on all platforms is in the cefpython31 branch. Downloads for this branch are available on wiki pages. Up-to-date API docs for the cefpython31 branch can be viewed in commit 169a1b2.
  • Repository rewritten on 2016-02-15 to reduce its size. Please clone it again.


CEF Python is an open source project founded by Czarek Tomczak in 2012 to provide python bindings for the Chromium Embedded Framework. See the growing list of applications using CEF on wikipedia. Examples of embedding CEF browser are available for many popular GUI toolkits including: wxPython, PyGTK, PyQt, PySide, Kivy, Panda3D and PyWin32.

Some use cases for CEF:

  • Embed a web browser control with great HTML5 support (based on Chromium)
  • Use it to create a HTML5 based GUI in an application. This can act as a replacement for GUI toolkits like wxWidgets/Qt/Gtk. For native communication between javascript and python use javascript bindings. Another option is to run an internal python web server and use websockets/XMLHttpRequest for js<>python communication. This way you can write a desktop app in the same way you write web apps.
  • Render web content off-screen in applications that use custom drawing frameworks. See the Kivy and Panda3D examples.
  • Use it for automated testing of existing web applications. Use it for web scraping, or as a web crawler or other kind of internet bots.


  • Supported Python versions: 2.7 (for Python 3.4 / 3.5 support see Issue #121).
  • Supported platforms: Windows, Linux, Mac.
    Both 32-bit and 64-bit binaries are available for all platforms.


On Win/Mac you can install from PyPI using this command: pip install cefpython3.

To be notified when new downloads are available see the Notifications on new releases section.


  • Documentation:
  • Ask questions and report problems on the Forum
  • Please do not ask questions in the Issue Tracker

Notifications on new releases

To be notified of new releases subscribe to this RSS/Atom feed.

Announcements are also made on the Forum. To be notified of these via email set your Membership and Email settings and change delivery preference to Daily summaries.

Changes in API during updates

CEF Python depends on CEF and API breaks are inevitable when updating to a newer CEF. When updating cefpython to a new version go to the GitHub Releases page and check release notes for all the releases that appeared between your old version and the new version. Look for lists named "Changes in API that break backward compatibility".

Due to unavoidable changes in API it is recommended for your setup scripts that use for example PIP to install the cefpython3 package, to hardcode the cefpython version string. If for example using PIP's requirements.txt file then list the cefpython3 package in the following format: cefpython3 == 31.2.


If you would like to support general CEF Python development efforts by making a donation see the Donations wiki page.