AMP HTML source code, samples, and documentation. See below for more info.
JavaScript HTML CSS Python Java Yacc Other
Switch branches/tags
Clone or download
nainar Changes to <amp-orientation-observer> demos (#16725)
* Fix parallax demo

* Fix clock demo
Latest commit 86aa43a Jul 16, 2018
Failed to load latest commit information.
.github Update the cherry pick template to handle cherry picks that need to g… Jun 26, 2018
3p implement amp-embedly-card component (#14819) Jul 16, 2018
ads 🐛🏗 Indentation fixes based on the new (more accurate) `eslint` imple… Jul 14, 2018
build-system Turn on the no-sync-xhr-in-ads experiment in canary. (#16524) Jul 16, 2018
builtins 📖 Fix typos in amp-img layout explanation (#16672) Jul 11, 2018
contributing 🏗 Precede `gulp visual-diff` with a build step (unless `--nobuild`) (#… Jul 11, 2018
css Render close button for lightbox ads in FIE (#16526) Jul 16, 2018
examples Changes to <amp-orientation-observer> demos (#16725) Jul 16, 2018
extensions Unskip most bind tests. (#16730) Jul 16, 2018
screenshots/test/manual Updated screenshots Jan 27, 2016
spec Implement standard action `toggleClass(...)` (#16530) Jul 13, 2018
src Use dev().info for prod logging (#16731) Jul 16, 2018
test Render close button for lightbox ads in FIE (#16526) Jul 16, 2018
testing Revert "Fix flakes by swapping setInterval with setTimeout" (#16268) Jun 22, 2018
third_party SwG release (#16715) Jul 13, 2018
tools 🏗 Lint: isExperimentOn must be passed an explicit string (#16688) Jul 12, 2018
validator Inform developers to run --update_tests. (#16746) Jul 16, 2018
viewer-api swipe api (#8357) Mar 24, 2017
.babelrc Add missing quotes for key sourceType in .babelrc (#12504) Dec 19, 2017
.codecov.yml 🏗 Run code coverage for integration tests on Travis (#16462) Jun 29, 2018
.eslintrc 🏗 Lint: isExperimentOn must be passed an explicit string (#16688) Jul 12, 2018
.gitignore 🏗 Make --local-changes detect local CSS changes to extensions (#16406) Jun 27, 2018
.lgtm.yml Disable redundant LGTM check `js/unused-local-variable` (#16249) Jun 22, 2018
.travis.yml 🏗 Remove Percy-Capybara mode for visual diffing (#16543) Jul 10, 2018 Establish a code of conduct for the AMP open source project. Oct 15, 2015 point people to Stack Overflow instead of Slack (#16733) Jul 16, 2018 s/camelburrito/aghassemi (#14274) Apr 10, 2018
LICENSE Fix broken find/replace across project (#16270) Jun 23, 2018
OWNERS.yaml add CODEOWNERS (#10342) Aug 17, 2017
Procfile Allow binding to specific hostname or IP, default to localhost (#4422) Aug 9, 2016 add banner for AMP Contributor Summit (#16444) Jun 28, 2018 remove references to Slack on support page (#16732) Jul 16, 2018
bundles.config.js 🏗Add amp-video-iframe to bundles.config.js (#16748) Jul 16, 2018
caches.json Add cloudflare to caches.json (#13247) Feb 7, 2018
gulpfile.js 🏗 Precede `gulp visual-diff` with a build step (unless `--nobuild`) (#… Jul 11, 2018
package.json Update dependency puppeteer to v1.6.0 (#16714) Jul 13, 2018
renovate.json Configure Renovate (#16237) Jun 25, 2018 add custom closure compiler pass (#2593) Apr 22, 2016
yarn.lock Fix yarn.lock (#16727) Jul 13, 2018


The first AMP Contributor Summit for developers who contribute to the AMP open source project--or who want to start contributing--will be in San Francisco, California September 25-26, 2018 with an optional New Contributor Day on September 24.

If you are a contributor to AMP or you want to become one please apply to attend!

If you'd like to give a talk at the summit please submit a talk proposal by July 31, 2018. Please note, that this is a technical summit. Don’t worry that your talk might not be polished enough. We’re excited to hear from everyone!



Renovate enabled

AMP HTML is a way to build web pages that render with reliable and fast performance. It is our attempt at fixing what many perceive as painfully slow page load times – especially when reading content on the mobile web. AMP HTML is built on existing web technologies; an AMP page will load (quickly) in any modern browser.

You can learn more at including what AMP is, how it works and the importance of validation in AMP. You can also walk through creating an AMP page and read through the reference docs.

We'd love your help making AMP better!

There are a lot of ways you can contribute to making AMP better! You can report bugs and feature requests or ideally become an ongoing participant in the AMP Project community and contribute code to the open source project.

We enthusiastically welcome new contributors to the AMP Project even if you have no experience being part of an open source project. We've got some tips for new contributors and guides to getting started (both a detailed version and a TL;DR).

If you're new to contributing to the AMP open source project, sign up for our Slack and say "Hi!" in the appropriately named #welcome-contributors channel ❤️️.

Using AMP on your site

If you are using AMP on your site, check out the docs on, samples on and templates on

The best place to get help with questions about using AMP on your site is Stack Overflow. You'll find answers to many common questions there. In the event your question hasn't already been answered you can post a new one, and one of the many people who are knowledgeable about AMP and who monitor Stack Overflow will likely answer it before too long.

Further reading

Who makes AMP HTML?

AMP HTML is made by the AMP Project. If you're a contributor to the open source community this includes you!

Security disclosures

The AMP Project accepts responsible security disclosures through the Google Application Security program.

Code of conduct

The AMP Project strives for a positive and growing project community that provides a safe environment for everyone. All members, committers and volunteers in the community are required to act according to the code of conduct.


AMP HTML is licensed under the Apache License, Version 2.0.