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
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.github 📖 instruct users to copy paste the emoji itself (#17501) Aug 17, 2018
3p Support Twitter timelines in amp-twitter. (#17455) Aug 21, 2018
ads Change AdSense Auto Ads Responsive experiment into an A/B experiment. ( Aug 20, 2018
build-system Support Twitter timelines in amp-twitter. (#17455) Aug 21, 2018
builtins Survey and fix prerenderAllowed() usage (#17586) Aug 20, 2018
contributing Adds link to buildcop & release docs to (#17476) Aug 16, 2018
css Allows amp-img.js to check if it has a blurred placeholder child. (#1… Aug 13, 2018
examples Support Twitter timelines in amp-twitter. (#17455) Aug 21, 2018
extensions Validator rollup (#17632) Aug 21, 2018
screenshots/test/manual Updated screenshots Jan 27, 2016
spec Update amp cache best practices (#17572) Aug 17, 2018
src Set limits to the allowed number set for priority in navigation.regis… Aug 21, 2018
test Set limits to the allowed number set for priority in navigation.regis… Aug 21, 2018
testing 🚀♻️ Custom Elements V1 Polyfill (#17205) Aug 3, 2018
third_party Allow static initial date attributes. Enable date offsets. (#17388) Aug 9, 2018
tools Revert "Add new arrow affordances for amp-carousel (#17325)" (#17619) Aug 21, 2018
validator Validator rollup (#17632) Aug 21, 2018
viewer-api swipe api (#8357) Mar 24, 2017
.babelrc Fix types for built parsers (#16978) Jul 20, 2018
.codecov.yml 🏗Make post a status on PRs instead of a comment (#17101) Aug 2, 2018
.eslintignore add babel-plugin-transform-amp-asserts (#17114) Aug 6, 2018
.eslintrc 🏗 Upgrade `sinon` to 6.1.4 and forbid importing of `sinon` (#17197) Aug 2, 2018
.gitignore Add firebase folder generation to gulp tasks (#17327) Aug 7, 2018
.lgtm.yml 🏗 Exempt docs, tests, and third party code from LGTM analysis (#16946) Jul 19, 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 Improve layout and info for building extension doc (#17396) Aug 10, 2018 📖 Update core committers (#17566) Aug 17, 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 Talk submissions are closed (#17565) Aug 17, 2018 remove references to Slack on support page (#16732) Jul 16, 2018
bundles.config.js Use `setImportantStyles` instead of CSS. (#17473) Aug 14, 2018
caches.json Add cloudflare to caches.json (#13247) Feb 7, 2018
gulpfile.js Build all ad extensions with amp-ad (#17291) Aug 13, 2018
package.json Update dependency google-closure-compiler to v20180716 (#16900) Aug 9, 2018
renovate.json 🏗 Allow renovate to update some AMP runtime dependencies (#17394) Aug 10, 2018 add custom closure compiler pass (#2593) Apr 22, 2016
yarn.lock Update dependency google-closure-compiler to v20180716 (#16900) Aug 9, 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!



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.