ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel
  • »
  • Technology»
  • Internet & the Web

How To Create a Google Chrome Theme

Updated on April 29, 2011
Themes are a great way to personalize the Google Chrome browser.  They can be published to the Google Web Store or deployed locally to your own browser. Theme, although for the most part are free, they can used to discreetly promote your own site or product

They are quite easy to create and deploy. There is different ways to create a theme which are Google Chrome Extensions but have no html, css styling or Javascript. A theme consists of images, colors and tints. These attributes are defined inside a special file called manifest.json. As the file extension suggests, the file uses the JSON notation.

The manifest.json file



The manifest.json file can be opened by any text editor.  In the following example you can see the general layout of the manifest file. The file may contain theseelements. Other elements can be added or removed depending on your design.

{
  "version": "1.0",
  "name": "kevlangdo theme",
  "icons": { "16": "icon16.png",
           	 "48": "icon48.png",
          	"128": "icon128.png" },
  "theme": {
    "images" : {
      "theme_frame" : "img/theme_frame.png",
      "theme_toolbar" : "img/theme_toolbar.png",
      "theme_ntp_background" : "img/kevlangdo_background.png",
      "theme_ntp_attribution" : "img/kevlangdo_attrib.png"
    },
    "colors" : {
      "frame" : [51, 0, 51],
      "toolbar" : [51,0, 153],
      "ntp_text" : [51,0,0],
      "ntp_link" : [51,51,205],
      "ntp_section" : [51,102, 153],
      "button_background" : [255, 255, 255]
    },
    "tints" : {
      "buttons" : [0.33, 0.5, 0.47]
    },
    "properties" : {
      "ntp_background_alignment" : "bottom"
    }
  }
}
The different attributes that describe a theme contain specific elements that must be given values in order to properly define the theme.

At the beginning you fill in the version of the theme and give the theme a name. You need to specify the product icons using the ‘icons’ element. All three sizes are required: 16 for favicon; 48 for the Extension Manager page and finally 128 for the Web Store.

Within the theme definition proper, you need to define the Theme attributes. These following elemens is only a subset of the possible elements that can be defined in your Theme design. Refer to the Google Theme docs for complete details.

Under images:
theme_frame: This element contains the relative path of the image that appears behind the tabs.theme_toolbar: This is the element that describes the path of the image that defines the current tab and underlining toolbar.
theme_ntp_background: This element defines the relative path of the main window of the browser. Where the content of a web page appears.
theme_ntp_attribution: This defines the relative path of the image of the “Theme Created By” section



Under colors:
The color section allows a designer to define different color attributes for the various elements in the Chrome Tab page. These colors are stated using RGB color codes. In our example, the following elements have been defined:

frame: This the RGB color that defines the color of the frame and border
toolbar: This defines the RGB color of toolbar
ntp_text: This defines the color of the text of the sections (e.g. “Recently Closed” or “App”)
ntp_link: This defines the color of the links in the specials sections (e.g. “Most Visited”)
button_background:This defines the color the background of the buttons in the toolbar area.

Under tints:You use Tints to alter the hue, saturation and lightness of images. In our example we have defined buttons with specific styling attributes.

Under properties:The properties section allows for certain UI refinemens like if the background image needs to be repeated, or the set the alignment of the background image. In our example, the background image for the main window has been defined as : bottom

ntp_background_alignment: Defines the alignment of the background image.

Design Tools:

Several tools are available to help design a Google Chrome Theme. At the lower end of the spectrum, a designer can use Notepad (under Windows) or Notepad++. On a Mac, TextEdit is available or TextWrangler. For Linux users, the Gedit editor does a fine job.


There are also an assortment of other tools you use such as Chrome Theme Creator Online
http://www.chrometheme.net/chrome-theme-creator-online.html.

At the other end of the spectrum, you can use Photoshop and the Google Chrome plugin to visual design a theme

Steps to Create a Basic Theme

To put it all together, I will execute these steps:

  1. Paste the json definition into the TextWrangler on my Mac
  2. Create a root folder for my theme and name it the same as my theme
  3. Create a img sub folder in my root folder
  4. Create the image files
  5. Add the image files to the img folder
  6. Update the values in the manifest.json file to reflect the paths in the folders
  7. Create or add a well designed Product icons
  8. Save the manifest.json file

Package The Theme

  1. Open the Extension Manager in Chrome (Wrench->Tools->Extensions)
  2. Switch to Developer Mode by expanding ‘+ Developer Mode’ node
  3. Pack the extension by clicking on the ‘Pack Extension’ button to bring up the configuration panel.
  4. Fill in the ‘Extension Root Directory’ by using the ‘Browse’ button
  5. IMPORTANT: Leave the Private Key field empty. It isn’t needed it when the Extension (Theme) is created. It is mandatory when updating a Theme (Extension).
  6. If error message appears, fix the manifest.json otherwise a crx file (Chrome archive) is created and a .pem file which is the private key.
  7. Test your Theme by double-clicking on the .crx file. It will be located in the folder containing the Theme Root folder.
  8. Click ‘Continue’ to install the Theme in your Chrome browser
  9. If everything is ok, package Theme for deployment to Google Chrome
  10. Create a zip file of the crx file
  11. Submit to Google Chrome Gallery

Deploy


  1. Open the Google Chrome Gallery (https://chrome.google.com/extensions)
  2. Click on the “Publish Your Extension” link
  3. Create a Developer Account if you don’t have one
  4. Click on the “Add Item” button
  5. Choose your Zip file using the ‘Choose file’ button
  6. Click ‘Upload’ to upload the zip file



That is it. In my next article I will create an actual Theme and upload it tot he Chrome Web Store.

Comments

    0 of 8192 characters used
    Post Comment

    • klanguedoc profile image
      Author

      Kevin Languedoc 5 years ago from Canada

      It is great way to promote your work, or a web site without being intrusive.

    • James McCullough profile image

      James McCullough 5 years ago from Kelowna, British Columbia

      I love Google Chrome but had never considered making my own theme before. May have to give this a try just for a fun project some time. Thanks for the information.

    • klanguedoc profile image
      Author

      Kevin Languedoc 6 years ago from Canada

      Thanks radhikasree. I am glad you find it useful.

    • radhikasree profile image

      Radhika Sreekanth 6 years ago from Mumbai,India

      I learned something new today about personalizing Google Chrome. I would follow these steps on the pursuit of the same and thanks for sharing these notes.

      Up and useful.

    • klanguedoc profile image
      Author

      Kevin Languedoc 6 years ago from Canada

      Hi Andrea, have you tried uninstalling the theme and reinstalling again fresh. When you try this approach, you may be blocked because Chrome will assume that the theme is already installed and won't let you install again. So what you have to do is install another, unrelated theme, thus overwriting your original them. Then re-install your own them again.

      Things may have gotten messed up because of an upgrade. Let me know if you need more help.

      Kevin

    • profile image

      Andrea G 6 years ago

      I need help! I used this about a month ago and made a theme and I could use it on my own chrome, but now when I try and reinstall the theme, it only has the colors not the pictures! Well on top of that I cant even access the website now. Everything but the actual theme creator show and I cant seem to find any way to download it either! Help!

    • klanguedoc profile image
      Author

      Kevin Languedoc 6 years ago from Canada

      Thanks Lia Piera, I am sure to check out the link

    • profile image

      Lia Piera 6 years ago

      Nice themes! If you want a bigger selection to choose from visit http://www.chrome-theme.org to grab all kinds of hd backgrounds!

    • klanguedoc profile image
      Author

      Kevin Languedoc 6 years ago from Canada

      Thanks. Chrome is fairly easy to use once to master the manifest.json file which is a json formatted document.

    • Vinaya Ghimire profile image

      Vinaya Ghimire 6 years ago from Nepal

      I'm finding little problem to work with Chrome. I think this will help me.

    • klanguedoc profile image
      Author

      Kevin Languedoc 6 years ago from Canada

      Thanks Phil, Let me know when you have your theme on Chrome. I will check it out.

      K

    • Phil Plasma profile image

      Phil Plasma 6 years ago from Montreal, Quebec

      Great tips. I think I'll give a try the next time I have a few spare minutes. You get a vote-up and useful for sharing these detailed instructions.

    working

    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: "https://hubpages.com/privacy-policy#gdpr"

    Show Details
    Necessary
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
    Features
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Marketing
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Statistics
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)