Web Applications Stack Exchange is a question and answer site for power users of web applications. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

locked by codingbadger Nov 13 '11 at 11:17

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

closed as not a real question by phwd Jan 18 '11 at 6:52

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

Added my suggestions as separate answers so people can vote on individual bookmarklets. – Tom Savage Jun 30 '10 at 22:26
You should really link each one of them to a the place that provides them. – Adam Tuttle Jul 1 '10 at 0:52
I <3 Bookmarklets! They are some of the best web apps! – Greg Bray Jul 1 '10 at 4:54
one could also argue that bookmarklets are for browsers and thus this question belongs to superuser :) – akira Jul 1 '10 at 17:36
Delicious will soon be gone. Leaked info from an internal Yahoo meeting has confirmed this. Be prepared to soon hear about its demise. Start backing up your bookmarks. Meanwhile, the search is on for something as good as or better than delicious. Know any? – Mamta D Dec 18 '10 at 7:42

44 Answers 44

The one I probably use the most is Show Anchors, which I made. It shows an anchor icon next to every element on the page that can be linked to directly.

Sounds stupid, but it's very useful when you want to refer someone to a specific section of a website. And it's much easier than trying to figure out where the site owner put their anchor links (if they even did in the first place).

I wrote a bookmarklet to solve the same problem by just changing the URL to the closest anchor or ID to the selected text. This is neat though.. does it show IDs too? – intuited Oct 6 '10 at 7:06
@intuited: yeah, it does allow you to link to ID's... that's one of the reasons I created my own. – Senseful Oct 6 '10 at 15:54
could you please show me how to "install" it? – phunehehe Nov 26 '10 at 2:57
+1 It is very nice and it would be great if it can even toggle it on and off. – IsmailS Nov 26 '10 at 6:40
@phunehehe: I updated the article to include instructions. If you have anymore questions, please let me know. – Senseful Nov 26 '10 at 10:29

Read Later (marks page for reading later in InstaPaper)


Kick Ass


I found this on GitHub. It's fun and likes to get my mind off things and also get rid of them!

This has got to be the best bookmarklet of all times!!! – Sean Patrick Floyd Oct 28 '10 at 15:20
that is a great one... though the question said "Useful" :) – Ben Nov 3 '10 at 5:20

Long URL Please

Rewrites most shortened URLs on a page to show where they will take you.


I use SuperGenPass to hash my master password into unique passwords for the sites I visit (the hash is based on the domain). Very convenient.

+1 - I've used this bookmarklet for so long. It's great because you can use it on friends/relatives computers to generate your password, or there is a mobile version for your phone as well. – BrianH Nov 1 '10 at 16:03

TinEye bookmarklet for finding other sources for images on a webpage.


BugMeNot to quickly bypass the login of web sites that require compulsory registration and/or the collection of personal/demographic information (such as the New York Times).


Quix: http://quixapp.com

This is a little bit like Quicksilver for the web. It's very useful for web development. You can also configure Chrome to use it as a search engine to turn the address bar into a command line.

Sweet, that "configure Chrome" link links to my original blog post about how to do it. – Senseful Jun 30 '10 at 22:38

I use StackPrinter bookmarklet; it allows to print Stack Exchange questions (like this one) in a printer-friendly way.

javascript:(function(){var re = new RegExp('^http://(.*?)\.com/questions/([0-9]+)/');var group = re.exec(window.location.href);if (group!=null){var service = group[1];var questionid=group[2];window.open('http://www.stackprinter.com/export?format=HTML&service='+service+'&question='+questionid)}else{alert('Attention: question id not found!')}})()
  1. Read Later (sends page to InstaPaper)
  2. Clip to Evernote (saves page as Evernote note)
  3. Readability
I was going to make a snarky remark about including multiple recommendations, but I have all three of these on my bookmarks bar and recommend them all, so ... up vote! – Doug Harris Jul 1 '10 at 16:17
I hear you. I tried adding them as separate suggestions, but the system would only let me put in one answer to this question (until some arbitrary delay time had passed), and suggested putting them all together. – Mike Richardson Jul 1 '10 at 16:31
I added Instapaper as a one liner - as I don't use the other two. No snark though, unless a smiley counts ;) – Jon Hadley Aug 9 '10 at 13:30
Clip to Evernote is epic. :) – JFW Nov 21 '10 at 4:35

I use:

  1. Google Translation Browser Buttons
  2. Stack Printer
  3. Bespin Bookmarklet
  4. Bit.ly
  5. Print What You Like
+1 for Bit.ly. I know there are plenty of shorteners out there, but this one I find most handy. – Dillie-O Oct 8 '10 at 0:04

jQuerify is the bookmarklet I can not live without. Adds (if necessary) jQuery to the list of scripts on the page. Makes writing other little bookmarklets much less painful!


I use a couple of bookmarklets (named + and -) to quickly increment or decrement the page of an article I'm reading.





PrintLiminator - Similar to other printing bookmarklets, but lets you select elements to remove from the page.

I knew PrintWhatYouLike.com, but this one is way simpler – CharlesB Oct 12 '11 at 6:57

Here's my own bookmarklet for all Stack Exchange sites:

This code will show your upvote count for all tags that appear in your user page's top tags section. It should work on any Stack Exchange site you are logged in on (but I've only tested it on Stack Overflow and Meta Stack Overflow). Unfortunately there is a bug in the tag synonym redirection logic that will keep this script from working with tag synonyms.

javascript:var uP=$('#hlinks-user a:eq(1)')[0].href;var uN=uP.replace(/.*\//gi,'');var uI=uP.replace(/.*\/([\d]+)\/.*/,'$1');var tsp='/tags/$0/topusers';var tqp='/questions/tagged/$0';var rD='result';var mA=5;var cA=0;var cO=0;var tT;var aT=[];var rT=[];var lI=function(tA,tP,tX,tT,bK){return' <span style="font-size:smaller;">[<a style="color:#777" href="'+tP.replace('$0',tA)+'"'+(bK?' target="_BLANK"':'')+(tT?' title="'+tT+'"':'')+'>'+tX+'</a>]</span>';};var pR=function(){if($('#'+rD).size()==0){$(document.body).append($('<div id="'+rD+'"></div>').css({'position':'fixed','top':'0','bottom':'0','left':'0','width':'40ex','background':'#fff','border-right':'solid #777 5px','overflow':'auto','text-align':'left','padding':'.3em'}));}};var dR=function(){rT.sort(function(a,b){return b[1]-a[1];});$('#'+rD+' h3').html('Your top '+tT+' tag scores:');$.each(rT,function(index,item){var tA=item[0],sC=item[1];var select=$('#tA'+(index+1));select.find('td:eq(1)').html(tA+lI(tA,tqp,'q','questions')+lI(tA,tsp,'s','stats'));select.find('td:eq(2)').html(sC);if(sC>99){select.find('td:eq(2)').css({'background':(sC>999?'gold':sC>399?'silver':'#A67D3D')});} select.find('td:eq(0)').remove();select.find('td').css({'padding':'.3em'});});};var dP=function(){if(aT.length==0&&cA==0){dR();return;}else if(cA<mA&&aT.length>0){rS(aT.pop());} window.setTimeout(dP,200);};var rS=function(tA){cA++;var oS=++cO;var dI='tA'+oS;$('#'+rD+' table').append($('<tr id="'+dI+'"><td>'+oS+' / '+tT+'</td><td>'+tA+'</td><td>...</td></tr>'));jQuery.get(tsp.replace('$0',tA),function(data){var sT=$(data.replace(/<img[^>]*>/gi,'')).find(".fl:eq(1) a[href*='"+uI+"']").parents('tr:eq(0)').find('.top-count:eq(0)').contents().text().trim().replace(/\D+/,'');rT.push([tA,sT?parseInt(sT):0]);$('#'+dI+' td:last').html('Done.');cA--;});};var tU=function(){jQuery.get(uP,function(result){fT($(result.replace(/<img[^>]*>/gi,'')));})};var fT=function(pN){if(!pN)pN=$('html');pN.find('.user-stats-table:eq(3) a.post-tag').each(function(index,item){aT.push(item.innerHTML.replace(/<[^>]*>/gi,''));});tT=aT.length;$('#'+rD).html('<h3>Retrieving tag scores...</h3><table style="width: 100%;"></table>');dP();};pR();if(document.URL==uP) fT(false);else tU();void(0)

And here is a readable non-bookmarklet version of the script:

// begin config
var uP = $('#hlinks-user a:eq(1)')[0].href; // user page URL
var uN = uP.replace ( /.*\//gi, '' ); // user name
var uI = uP.replace(/.*\/([\d]+)\/.*/, '$1'); // user id
var tsp = '/tags/$0/topusers'; // template for stats page
var tqp = '/questions/tagged/$0'; // template for questions page
var rD = 'result'; // dom id for generated div
var mA = 5; // max concurrent ajax requests
// end config

var cA = 0;  // current ajax requests
var cO = 0;  // current tag offset
var tT;      // total number of tags
var aT = []; // all remaining tags
var rT = []; // retrieved tags (format: [[tag,score]]
var lI = function(tA,tP,tX,tT,bK){ // build link using a tag, a template and a text
    bK = bK!==false;
    return ' <span style="font-size:smaller;">[<a style="color:#777" href="'
           + tP.replace('$0', tA) + '"'
           + (bK ? ' target="_BLANK"' : '')
           + (tT ? ' title="' + tT + '"' : '')
           + '>' + tX + '</a>]</span>';
var pR = function(){ // prepare result div
            $('<div id="' + rD + '"></div>')
                    'border-right':'solid #777 5px',
var dR = function(){ // display results
        return b[1]-a[1];
    $('#'+rD+ ' h3').html('Your top '+tT + ' tag scores:');
            function(index, item) {
                var tA = item[0], sC = item[1];
                var select = $('#tA'+(index+1));
                select.find('td:eq(1)').html(tA + lI(tA,tqp,'q','questions') + lI(tA,tsp,'s','stats'));
                if(sC > 99){
                        'background' : (
                            sC > 999 ? 'gold'   :
                               sC > 399 ? 'silver' :

var dP = function(){ // dispatcher function
    if(aT.length == 0 && cA == 0){
    }else if(cA < mA && aT.length > 0){
    window.setTimeout(dP, 200);
var rS = function(tA){ // retrieve tag score
    var oS = ++cO; // current offset
    var dI = 'tA' + oS; // corresponding dom ID
    $('#'+rD + ' table').append($(
        '<tr id="' + dI + '"><td>'+oS+' / ' + tT + '</td><td>'
        + tA + '</td><td>...</td></tr>'
    jQuery.get(tsp.replace('$0', tA),function(data){
        // score as text:
        var sT = $(data.replace( /<img[^>]*>/gi, ''))
        .find(".fl:eq(1) a[href*='" + uI + "']")

            [tA,sT ? parseInt(sT) : 0]
        $('#' + dI + ' td:last').html('Done.');
var tU = function(){ // get user page via ajax
    jQuery.get(uP, function(result){
        fT($(result.replace( /<img[^>]*>/gi, '')));
var fT = function(pN){ // find tags in page node
    if(!pN)pN = $('html');
    pN.find('.user-stats-table:eq(3) a.post-tag').each(
            aT.push(item.innerHTML.replace(/<[^>]*>/gi, ''));
    $('#'+rD).html('<h3>Retrieving tag scores...</h3>'
        + '<table style="width: 100%;"></table>');
if(document.URL==uP)// we're in user page
else // load user page per AJAX
(+1) Very nice and useful bookmarklet. Need a "Close Sidebar" button. – chanchal1987 Oct 28 '10 at 15:10

Remember password to remove autocomplete="off"


I have a large screen. Some websites don't limit the maximum width of the content. That often makes long texts unreadable. So my favorite bookmarklet is this. It limits the maximum width of the page.

Why don't you use document.getElementsByTagName( 'body' )[0].style.maxWidth = '800px';? Seems to me far easier than adding a new style sheet.. – poke Oct 4 '10 at 23:58

I use it to see the box model for any element on any web page.


Eventually Zap Colors gets installed on any browser I use. Gray text on a black background? Zap and it's suddenly readable.


I have my own collection of such utilities those can be found here...



Anyone who likes bookmarklets should have a look at the iMacros Firefox and chrome extensions. They let you create "macros" (kind of like huuge bookmarklets) to autoamte task. We use them for all kinds of "stuff" in the office.

Creating iMacros "Bookmarklets" in Firefox: Creating iMacros "Bookmarklets"


Aardvark, which is both a Firefox extension and a bookmarklet (for Chrome, Safari and Internet Explorer). It is useful for web developers as well as people who just want to clean up a page prior to printing it. http://karmatics.com/aardvark/


I use Diigo and the diigolet on safari, they have a toolbar for some browsers though.

Trust me, give it a try.

I also like it a lot... – pgras Nov 30 '10 at 11:41

Wikipedia Search for searching the highlighted text on Wikipedia


Amazon universal wishlist for tracking things I might want to buy later (birthdays, Christmas gifts, etc)


There are lots of useful bookmarklets for Google services:

  • Subscribe in Reader
  • Translate
  • Bookmark in Google Bookmarks
  • Add Event
  • Map this
  • Google Cache
  • Definitions

I use the following bookmarklets:


If you're a web designer, or someone who loves typography, you'd enjoy Font Friend bookmarklet.


Not the answer you're looking for? Browse other questions tagged or ask your own question.