How To Create a Google Chrome Theme
By klanguedoc
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"
}
}
}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:
- Paste the json definition into the TextWrangler on my Mac
- Create a root folder for my theme and name it the same as my theme
- Create a img sub folder in my root folder
- Create the image files
- Add the image files to the img folder
- Update the values in the manifest.json file to reflect the paths in the folders
- Create or add a well designed Product icons
- Save the manifest.json file
Package The Theme
- Open the Extention Manager in Chrome (Wrench->Tools->Extensions)
- Switch to Developer Mode by expanding ‘+ Developer Mode’ node
- Pack the extension by clicking on the ‘Pack Extension’ button to bring up the configuration panel.
- Fill in the ‘Extension Root Directory’ by using the ‘Browse’ button
- 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).
- 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.
- Test your Theme by double-clicking on the .crx file. It will be located in the folder containing the Theme Root folder.
- Click ‘Continue’ to install the Theme in your Chrome browser
- If everything is ok, package Theme for deployment to Google Chrome
- Create a zip file of the crx file
- Submit to Google Chrome Gallery
| 1. | Amazon Price: $10.95 List Price: $26.99 | |
| 2. | ![]() | Amazon Price: $58.88 List Price: $99.99 |
| 3. | ![]() | Amazon Price: $48.00 |
| 4. | ![]() | Amazon Price: $390.75 List Price: $369.99 |
Deploy
- Open the Google Chrome Gallery (https://chrome.google.com/extensions)
- Click on the “Publish Your Extension” link
- Create a Developer Account if you don’t have one
- Click on the “Add Item” button
- Choose your Zip file using the ‘Choose file’ button
- 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
Thanks Phil, Let me know when you have your theme on Chrome. I will check it out.
K
I'm finding little problem to work with Chrome. I think this will help me.
Thanks. Chrome is fairly easy to use once to master the manifest.json file which is a json formatted document.
Nice themes! If you want a bigger selection to choose from visit http://www.chrome-theme.org to grab all kinds of hd backgrounds!
Thanks Lia Piera, I am sure to check out the link
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!
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
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.
Thanks radhikasree. I am glad you find it useful.






![Adobe Photoshop Elements 9 (Win/Mac) [OLD VERSION]](http://ecx.images-amazon.com/images/I/51KOPuopJ%2BL._SL75_.jpg)


Phil Plasma 10 months ago
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.