<div id="pageData-name" class="pageData">Tutorial: Getting Started (Hello, World!)</div> <div id="pageData-showTOC" class="pageData">true</div> <p> This tutorial walks you through creating a simple extension. You'll add an icon to Google Chrome that, when clicked, displays an automatically generated page. The icon and page will look something like this: </p> <img src="images/hello-world-small.png" width="300" height="221" alt="a window with a grid of images related to HELLO WORLD" /> <p> You can develop extensions using any release of Google Chrome, on Windows, Mac, or Linux. </p> <h2 id="load">Create and load an extension</h2> <p> In this section, you'll write an extension that adds a <em>browser action</em> to the toolbar of Google Chrome. </p> <ol> <li> Create a folder somewhere on your computer to contain your extension's code. </li> <li> Inside your extension's folder, create a text file called <strong><code>manifest.json</code></strong>, and put this in it: <pre>{ "name": "My First Extension", "version": "1.0", "description": "The first extension that I made.", "browser_action": { "default_icon": "icon.png" }, "permissions": [ "http://api.flickr.com/" ] }</pre> </li> <li> Copy this icon to the same folder:<br> <table cellpadding="0" cellspacing="0" style="border:0"> <tr> <td style="text-align:center; border:0;"><a href="examples/tutorials/getstarted/icon.png" ><img src="examples/tutorials/getstarted/icon.png" width="19" height="19" border="0"></a><br> <a href="examples/tutorials/getstarted/icon.png" >Download icon.png</a></td> </tr> </table> </li> <li id="load-ext"> Load the extension. <ol type="a"> <li style="margin-top:0" /> Bring up the extensions management page by clicking the wrench icon <img src="images/toolsmenu.gif" width="29" height="29" alt="" style="margin-top:0" /> and choosing <b>Tools > Extensions</b>. </li> <li> If <b>Developer mode</b> has a + by it, click the + to add developer information to the page. The + changes to a -, and more buttons and information appear. </li> <li> Click the <b>Load unpacked extension</b> button. A file dialog appears. </li> <li> In the file dialog, navigate to your extension's folder and click <b>OK</b>. </li> </ol> </li> </ol> <p> If your extension is valid, its icon appears next to the address bar, and information about the extension appears in the extensions page, as the following screenshot shows. </p> <p> <a href="images/load_after.png"><img src="images/load_after_small.png" width="300" height="132" /></a> </p> <h2 id="code">Add code to the extension</h2> <p> In this step, you'll make your extension <em>do</em> something besides just look good. </p> <ol> <li> <p> Edit <code>manifest.json</code> to add the following line:</p> <pre> ... "browser_action": { "default_icon": "icon.png"<b>, "popup": "popup.html"</b> }, ... </pre> <p> Inside your extension's folder, create a text file called <strong><code>popup.html</code></strong>, and add the following code to it:</p> <blockquote> <a href="http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/tutorials/getstarted/popup.html?content-type=text/plain" target="_blank">CSS and JavaScript code for hello_world</a></blockquote> </li> <li> Return to the extensions management page, and click the <b>Reload</b> button to load the new version of the extension.</li> <li>Click the extension's icon. A popup should appear that displays the contents of <code>popup.html</code>. </li> </ol> <p> It should look something like this:</p> <img src="images/hello-world.png" width="500" height="369" alt="a popup with a grid of images related to HELLO WORLD" /> <p> If you don't see the popup, try the instructions again, following them exactly. Don't try loading an HTML file that isn't in the extension's folder — it won't work! </p> <h2 id="summary">Now what?</h2> <!-- [PENDING: Summarize what we did, what it means, what else we would've done if this were a real extension (e.g. package/zip it), and where to find more information.] --> <p> Here are some suggestions for what to read next: </p> <ul> <li> The <a href="overview.html">Overview</a>, which has important conceptual and practical information </li> <li> The <a href="tut_debugging.html">debugging tutorial</a>, which starts where this tutorial leaves off </li> <li> The <a href="hosting.html">hosting</a> page, which tells you about options for distributing your extension </li> </ul> <p> If you don't feel like reading, try these: </p> <ul> <li> Keep up to date with the latest news: <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions/subscribe">subscribe to chromium-extensions</a> </li> <li> Look at some <a href="samples.html">sample extensions</a> </li> <li> Watch some <a href="http://www.youtube.com/view_play_list?p=CA101D6A85FE9D4B">videos</a>, such as <a href="http://www.youtube.com/watch?v=e3McMaHvlBY&feature=PlayList&p=CA101D6A85FE9D4B&index=3">How to build an extension</a> </li> </ul>