Sunday, January 8, 2012

Viewing Chrome cache (the easy way)

Chrome is a great browser, however it could use improvement is in its cache viewer. While the cache viewer can be used to recover a file, it's unnecessarily complex. I decided to create a solution which makes it easy to recover a file in the cache. I got the idea from reading a post about how to do the same thing in PHP. The problem was that I didn't have PHP set up, and, besides, a lot of people don't know how to use PHP. I wanted to create a solution that would be as easy as possible for anyone to use; a solution which wouldn't require you to download, install, or setup anything.

There are three methods you can use to view your cached data. They are sorted in three tabs from the easiest-to-use method on the left (copy/paste) to the most difficult-to-use one on the right (console).
Instructions:
  1. In Chrome, open a new tab and navigate to chrome://cache/
  2. Click on whichever file you want to view.
    You should then see a page with a bunch of text and numbers.
  3. Copy all the text on that page.
  4. Paste it in the text box below.
  5. Press "Go".
  6. The cached data will appear in the Results section below.
Note: the file contents are not uploaded anywhere. The entire processing is done client side.

Paste your content here:

Results:

Instructions:
  1. In Chrome, open a new tab and navigate to chrome://cache/
  2. Click on whichever file you want to view.
    You should then see a page with a bunch of text and numbers.
  3. Right-click the page and save it as an HTML file (choose "HTML only", not "Complete").
  4. On this page, press Choose File and choose the file which you just saved.
  5. The cached data will appear in the Results section below.
Note: the file is not uploaded anywhere. The entire processing is done client side.

Select your file here:

Results:

How to view a file from the cache:
  1. Copy the code at the bottom of this post.
  2. In Chrome, navigate to chrome://cache/
  3. Click on whichever file you want to view.
    You should then see a page with a bunch of text and numbers.
  4. In Chrome, go to Settings > Tools > JavaScript Console.
  5. Near the > character, paste the copied code.
  6. Press Enter on your keyboard.
    You should then see a link which says Download cached file on the top.
This has been tested on Chrome 17.0 on Mac OS X. In case you're wondering why it's not a one-click bookmarklet, it's because Chrome prevents bookmarklets from running on the cache pages.

Here's the code you will need to copy:

    (function() {
    var preTags = document.getElementsByTagName('pre');
    var preWithHeaderInfo = preTags[0];
    var preWithContent = preTags[2];

    var lines = preWithContent.textContent.split('\n');
 
    // get data about the formatting (changes between different versions of chrome)
    var rgx = /^(0{8}:\s+)([0-9a-f]{2}\s+)[0-9a-f]{2}/m;
    var match = rgx.exec(lines[0]);
 
    var text = '';
    for (var i = 0; i < lines.length; i++) {
        var line = lines[i];
        var firstIndex = match[1].length; // first index of the chars to match (e.g. where a '84' would start)
        var indexJump = match[2].length; // how much space is between each set of numbers
        var totalCharsPerLine = 16;
        index = firstIndex;
        for (var j = 0; j < totalCharsPerLine; j++) {
            var hexValAsStr = line.substr(index, 2);
            if (hexValAsStr == '  ') {
                // no more chars
                break;
            }

            var asciiVal = parseInt(hexValAsStr, 16);
            text += String.fromCharCode(asciiVal);

            index += indexJump;
        }
    }

    var headerText = preWithHeaderInfo.textContent;
    var elToInsertBefore = document.body.childNodes[0];
    var insertedDiv = document.createElement("div");
    document.body.insertBefore(insertedDiv, elToInsertBefore);

    // find the filename
    var nodes = [document.body];
    var filepath = '';
    while (true) {
        var node = nodes.pop();
        if (node.hasChildNodes()) {
            var children = node.childNodes;
            for (var i = children.length - 1; i >= 0; i--) {
                nodes.push(children[i]);
            }
        }

        if (node.nodeType === Node.TEXT_NODE && /\S/.test(node.nodeValue)) {
            // 1st depth-first text node (with non-whitespace chars) found
            filepath = node.nodeValue;
            break;
        }
    }
    
    outputResults(insertedDiv, convertToBase64(text), filepath, headerText);

    insertedDiv.appendChild(document.createElement('hr'));

    function outputResults(parentElement, fileContents, fileUrl, headerText) {
        // last updated 1/27/12
        var rgx = /.+\/([^\/]+)/;
        var filename = rgx.exec(fileUrl)[1];

        // get the content type
        rgx = /content-type: (.+)/i;
        var match = rgx.exec(headerText);
        var contentTypeFound = match != null;
        var contentType = "text/plain";
        if (contentTypeFound) {
            contentType = match[1];
        }

        var dataUri = "data:" + contentType + ";base64," + fileContents;

        // check for gzipped file
        var gZipRgx = /content-encoding: gzip/i;
        if (gZipRgx.test(headerText)) {
            filename += '.gz';
        }
        
        // check for image
        var imageRgx = /image/i;
        var isImage = imageRgx.test(contentType);
            
        // create link
        var aTag = document.createElement('a');
        aTag.textContent = "Left-click to download the cached file";
        aTag.setAttribute('href', dataUri);
        aTag.setAttribute('download', filename);
        parentElement.appendChild(aTag);
        parentElement.appendChild(document.createElement('br'));
    
        // create image
        if (isImage) {
            var imgTag = document.createElement('img');
            imgTag.setAttribute("src", dataUri);
            parentElement.appendChild(imgTag);
            parentElement.appendChild(document.createElement('br'));
        }
    
        // create warning
        if (!contentTypeFound) {
            var pTag = document.createElement('p');
            pTag.textContent = "WARNING: the type of file was not found in the headers... defaulting to text file.";
            parentElement.appendChild(pTag);
        }
    }

    function getBase64Char(base64Value) {
        if (base64Value < 0) {
            throw "Invalid number: " + base64Value;
        } else if (base64Value <= 25) {
            // A-Z
            return String.fromCharCode(base64Value + "A".charCodeAt(0));
        } else if (base64Value <= 51) {
            // a-z
            base64Value -= 26; // a
            return String.fromCharCode(base64Value + "a".charCodeAt(0));
        } else if (base64Value <= 61) {
            // 0-9
            base64Value -= 52; // 0
            return String.fromCharCode(base64Value + "0".charCodeAt(0));
        } else if (base64Value <= 62) {
            return '+';
        } else if (base64Value <= 63) {
            return '/';
        } else {
            throw "Invalid number: " + base64Value;
        }
    }

    function convertToBase64(input) {
        // http://en.wikipedia.org/wiki/Base64#Example
        var remainingBits;
        var result = "";
        var additionalCharsNeeded = 0;

        var charIndex = -1;
        var charAsciiValue;
        var advanceToNextChar = function() {
            charIndex++;
            charAsciiValue = input.charCodeAt(charIndex);
            return charIndex < input.length;
        };

        while (true) {
            var base64Char;

            // handle 1st char
            if (!advanceToNextChar()) break;
            base64Char = charAsciiValue >>> 2;
            remainingBits = charAsciiValue & 3; // 0000 0011
            result += getBase64Char(base64Char); // 1st char
            additionalCharsNeeded = 3;

            // handle 2nd char
            if (!advanceToNextChar()) break;
            base64Char = (remainingBits << 4) | (charAsciiValue >>> 4);
            remainingBits = charAsciiValue & 15; // 0000 1111
            result += getBase64Char(base64Char); // 2nd char
            additionalCharsNeeded = 2;

            // handle 3rd char
            if (!advanceToNextChar()) break;
            base64Char = (remainingBits << 2) | (charAsciiValue >>> 6);
            result += getBase64Char(base64Char); // 3rd char
            remainingBits = charAsciiValue & 63; // 0011 1111
            result += getBase64Char(remainingBits); // 4th char
            additionalCharsNeeded = 0;
        }

        // there may be an additional 2-3 chars that need to be added
        if (additionalCharsNeeded == 2) {
            remainingBits = remainingBits << 2; // 4 extra bits
            result += getBase64Char(remainingBits) + "=";
        } else if (additionalCharsNeeded == 3) {
            remainingBits = remainingBits << 4; // 2 extra bits
            result += getBase64Char(remainingBits) + "==";
        } else if (additionalCharsNeeded != 0) {
            throw "Unhandled number of additional chars needed: " + additionalCharsNeeded;
        }

        return result;
    }
    })()
        
  • 8/3/15:
    • Fixed "Uncaught SyntaxError: Unexpected token )" error in copy/paste method (there was a missing curly brace at the end).
  • 10/3/13:
    • Fixed spacing bug which occured with Chrome 30.0.1599. Fix should be backwards compatible.
  • 1/27/12:
    • Added 2 new methods of viewing the cache (copy/paste and save/load).
    • Improved code.
  • 1/16/12:
    • Uses the original filename when downloading the file, and adds a '.gz' extension if necessary.

120 comments:

  1. Hallo, thank you for your great post! I don't have php installed so your post is great for me!
    I'm using Mac 10.6.8 snow leopard with Chrome 16.0.912.77.
    When I try to save the generated file on the top, Chrome crashes and closed immediately.
    Please, do you have an idea about this problem?
    I need to restore a file from cache...
    Thank you very much.
    Giovel

    ReplyDelete
    Replies
    1. I am also on a mac and I manage to download a file that is not recognized by any application. Any solutions to this?

      Delete
    2. I'm on windows, same problem. a zip containing a file that can't be opened

      Delete
  2. This comment has been removed by the author.

    ReplyDelete
  3. Hallo, thank you for your replay: if I install chrome's beta version I think I will lose all my chronology... or no?

    ReplyDelete
  4. @giovel: you are right, that's too risky... I added two new methods you could use instead. The first thing I would do is right-click and save the file for backup purposes. You could then try using any of the first two methods to recover the file's contents. With these two new methods, you could even launch this webpage on another browser (e.g. Safari) and copy the data from Chrome into Safari, and it should let you recover your file that way. You could even save the cached file on your current computer, then transfer it to another computer which has the latest beta version of chrome installed, and use method 2 to recover your file.

    Beta version of chrome: http://www.google.com/landing/chrome/beta/ (Warning: your cached data might be deleted if you install a new version of Chrome. Therefore, I would recommend you save the cached file contents asap (see the "via saved cached file" method on top).

    ReplyDelete
  5. OMG thank you so much for this. I was lost without this and my client would have been peed if I lost my files.

    ReplyDelete
  6. your JS on console works like a charm.

    ReplyDelete
  7. I really want to express my deepest gratitude for this amazing and terrific simple tool of yours!
    My hat goes off to you talented savior! ;D

    (ps. i really hate the blogger comment system but i really wanted to say "thank you" , so for this special occasion i created an open id account but it's just for this! Thank you again! ;) )

    ReplyDelete
  8. The download link no longer works :( Did it break?

    ReplyDelete
  9. This comment has been removed by the author.

    ReplyDelete
  10. Thank you for your AMAZING tool! I wish you had a PayPal Donate button, I'd drop $5 USD in the pot in gratitude for the time and great trouble you have saved me today.

    ReplyDelete
  11. thank you thank you thank you thank you!!!!!!!!!!!!!

    ReplyDelete
  12. "Via Console" worked beautifully for me. Thank you.

    ReplyDelete
  13. This post is really good. So good that I decided to use it to improve a Firefox extension called CacheViewer Continued, with your permission of course...

    Here is the link to download the result:
    http://dl.dropbox.com/u/12425686/cacheviewer_continued-0.9-fx.xpi

    To see your code in it, change the xpi to zip and unzip. Then open the file:
    /chrome/contente/cacheviewer/cacheviewer.js
    Your code for convert to Base64 is on line 870.

    The changes I made to extension were:

    1. Add a filter to device type (memory, disk, offline).
    2. I used the converttobase64 function to correct the handling of images from memory, specially ASP.NET dynamic-generated images.

    I would like to submit this to the extension's author, do you allow it?

    ReplyDelete
  14. This comment has been removed by the author.

    ReplyDelete
  15. You sir are amazing. I've managed to save the cache files, the only thing is they get saved as winrar files, upon opening them up I just get a "file" type file. When I open them with a text viewer, the entire thing more or less looks like this.(See below) and it goes on for quite a long while. I'm wondering if there's a certain type of program for it to open as or such?(I had to put periods in the middle of words such as Script, Meta, title and such because it wouldn't let me copy and paste the code with those words in it.)





    deviantART: Submission





    var _gaq = _gaq || [];
    _gaq.push(
    ['_setAccount', '']
    ,['_setDomainName', '..com']


    );


    var _qevents = _qevents || [];

    (function() {
    var elem = document.createElement('scri.pt');

    elem.src = (document.location.protocol == "https:" ? "https://secure" : "http://edge") + ".quantserve.com/quant.js";
    elem.async = true;
    elem.type = "text/javascrip.t";
    var scpt = document.getElementsByTagName('scrip.t')[0];
    scpt.parentNode.insertBefore(elem, scpt);
    })();


    window.vms_features={'':1};
    function vms_feature(feature) {
    return (feature in window.vms_features);
    }
    function is_beta() {
    return false;
    }

    ReplyDelete
  16. Extremely useful! Not sure why Google makes this so inaccesible in Chrome relative to every other browser I've used, but I'm glad you saved the day.

    ReplyDelete
    Replies
    1. FYI I followed over here from your post at Frozax.

      Delete
  17. You just saved me from rewriting an entire blog post that I "lost" earlier today. Thank you SO MUCH!

    ReplyDelete
  18. Omg. You just saved my blog... thank you, kindly! I was just about to break down & bawl... just thinking about all the weeks of work I put into my coding... just to lose it all.

    PHEW! THANK YOU.

    ReplyDelete
  19. Ooops I thought I'd lost the flight award !! Many thanks for the solution :-)

    ReplyDelete
  20. Thank you! Just recovered some important information with this tool. What a relief!

    ReplyDelete
  21. Thanks, this is awesome and a life saver!

    ReplyDelete
  22. I can't get any of this to work.

    ReplyDelete
  23. You really saved my life today. Thank you!

    ReplyDelete
  24. It is possible to view Google Chrome cache by using an extension called "View Link in Google Cache". Download the extension here.

    https://chrome.google.com/webstore/search/cache%20viewer?hl=en-US

    Once you have installed this extension, an icon will appear on the right top portion of your Chrome window.

    Open a webpage. Click the icon to see the cache of this webpage. It doesn't matter if the webpage no longer exists. If the content of this webpage is available in your Chrome cache, the extension will show it for you.

    ReplyDelete
    Replies
    1. Thank you! However, that link doesn't take you to it. Here is the correct one:
      https://chrome.google.com/webstore/detail/view-link-in-google-cache/nbphmmfbemkijojeojbkecbgmpiamnlk

      Delete
  25. I really appreciate you taking the time to write this post and sharing such a valuable tip. Good Karma coming to you :)

    ReplyDelete
  26. Holy shit!!!!

    Man, you saved my day and my work!!!

    You should put a donate button, really

    ReplyDelete
  27. This was amazing! Totally saved me redoing a whole weekend of work!

    ReplyDelete
  28. You... are.... AWESOME! WOW! I want to send you $1 for helping me. :) Any way you could provide this as an offline tool? It would be very helpful for internet outages. This time my college portal was out for maintenance and it really prevented me from doing my work. Thank you again.

    ReplyDelete
  29. I have to say you are genius man. I like your post and i read it carefully !

    Just simple question : is there any way to get access to the cache file using php (programmatically) ? i want to combine this with curl but I'm stuck.

    Thanks a lot.


    ReplyDelete
  30. Hi,

    I have a Firefox CSS cache file here and tried to put it through your decoder but got thrown an error:
    http://pastebin.com/Nr5umENL

    I was wondering, would it be possible to convert it to a regular CSS file? I would be every so great full if someone could help me with this.

    ReplyDelete
  31. Okay I saved the file to my computer, but now what do I do with it to see the cached page?

    ReplyDelete
  32. You... are.... AWESOME! WOW! It would be very helpful for internet outages. Thank you.

    ReplyDelete
  33. Thank you! This was a complete Godsend, and a tremendous time-saver!

    ReplyDelete
  34. Dude, I've just erased the first version of a website before committing it to SVN (after weeks of work). Thanks to you and Sublime Text 2 (that kept the sass and html files opened), I could get every image and font lost in Chrome's Cache. I really own you a lot, God of Chrome's Cache.

    ReplyDelete
  35. You guys just saved my life. I love you very much.

    ReplyDelete
  36. Hello, your code is very helpful, but after update my chrome to 30.0.1599.66 m it is not work. Do you know what is the reason?

    ReplyDelete
    Replies
    1. In new version of chrome browser was changed cache format. To fix problem need change line 10, 11 to
      var firstIndex = 10; // first index of the chars to match
      var indexJump = 3;

      Delete
    2. Thanks for pointing out the problem. It's been fixed! It should also handle any future changes to Chrome which change the amount of spaces between each element.

      Delete
  37. http://pastebin.com/CC6KFECX

    I get this error: "Invalid number: 1023"

    ReplyDelete
    Replies
    1. I just fixed a bug, please try it again. If it doesn't work, try updating your Chrome to the latest version.

      Delete
  38. This comment has been removed by the author.

    ReplyDelete
  39. Thanks a lot. I love you so much! You'll never know. I had return all of lost files.

    ReplyDelete
  40. Is there some way to make a micropayment towards this?

    ReplyDelete
  41. Hi there,
    I'm not sure what I'm meant to do with the file once I've downloaded it to my desktop!
    What app do I use to open it?

    Thanks

    ReplyDelete
  42. you just helped me recover a days worth of work. <3

    ReplyDelete
  43. What do i use to open the cache once ive downloaded it?

    ReplyDelete
  44. How would I navigate to a html document in Chrome for testing in the Chrome browser?. I don't need or want to be online to do this. With no 'file'button to navigate how am I supposed to check if my code works in Chrome?

    thanks :o)

    Maureen

    ReplyDelete
  45. I get the following error:

    Error: Unrecognized format... please ensure you copy/pasted correctly.

    Any ideas?

    ReplyDelete
    Replies
    1. I got the same error. Anyone have any idea why?

      Delete
    2. Hi, I actually also got the same error when trying to use it today.
      Obviously Google must have updated the visualization of the cache when you click on an entry. As such, the tool realized bySenseful no longer works, at least not in my environment (Win7 x64, latest Chrome)

      What I did was the following (and it seems you have to make sure to do this BEFORE viewing the same webpage in your Chrome Browser, since it will overwrite files that you wish to recover):
      1. Make sure to salvage (copy everything) the cache folder COMPLETELY (navigate to C:\Users\[USERNAME]\AppData\Local\Google\Chrome\User Data\Default\Cache)
      2. Download the Google Cache Viewer utility (http://www.nirsoft.net/utils/chrome_cache_view.html) and run it.
      3. Use 'Select Cache Folder' from 'File' menu and point to your copy
      4. Determine from which website (or time frame) you wish to view the history and save those to yet another (temporary) folder by using the 'Copy selected cache files to'
      5. Navigate to the temporary folder and double click the webpage(s) you're trying to view

      NOTES: If you wish to browse beforehand, then I recommend using another computer or Internet Explorer on the same PC. That way, there's no chance that you overwrite specific cached folders/files when performing the analysis.

      Delete
    3. This comment has been removed by the author.

      Delete
    4. Hi, I actually also got the same error when trying to use it today.
      Obviously Google must have updated the visualization of the cache when you click on an entry. As such, the tool realized bySenseful no longer works, at least not in my environment (Win7 x64, latest Chrome)

      What I did was the following (and it seems you have to make sure to do this BEFORE viewing the same webpage in your Chrome Browser, since it will overwrite files that you wish to recover):
      1. Make sure to salvage (copy everything) the cache folder COMPLETELY (navigate to C:\Users\[USERNAME]\AppData\Local\Google\Chrome\User Data\Default\Cache)
      2. Download the Google Cache Viewer utility (http://www.nirsoft.net/utils/chrome_cache_view.html) and run it.
      3. Use 'Select Cache Folder' from 'File' menu and point to your copy
      4. Determine from which website (or time frame) you wish to view the history and save those to yet another (temporary) folder by using the 'Copy selected cache files to'
      5. Navigate to the temporary folder and double click the webpage(s) you're trying to view

      NOTES: If you wish to browse beforehand, then I recommend using another computer or Internet Explorer on the same PC. That way, there's no chance that you overwrite specific cached folders/files when performing the analysis.

      Of course, depending on what one is trying to achieve, one can always try to use Google Wayback to try and recover content from a (public) webpage that's accessed by Google's search robots/spiders.In my case, I needed something from yesterday that was changed in the meantime. What I've learned personally is to freeze/salvage the cache folder and do as little as possible (similar to salvaging data on a corrupted hard drive) and first restore as much data as possible from the cache folder BEFORE anayzing anything that is there.

      Delete
    5. The problem is the author assumes the file content will always be loaded into the 3rd pre tag on the page. This is not the case for large cached files. The reason being that in Chrome the pre tag has a maximum character allowance of 65,535. And, as such, for large files it splits the content into multiple pre elements. Copying the provided code from the "Via Console" tab, the code can be adapted to work on larger files by making the following changes to the code:

      http://screencast.com/t/X5ffhMcX

      Delete
  46. Thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you
    :)

    ReplyDelete
  47. Thanks a lot for this easy to use script! Saved me a lot of headache :)

    ReplyDelete
  48. Thank you! You saved a lot of work for me! I was able to restore accidentally deleted content!

    ReplyDelete
  49. Thank you! i just recovered my files using your solution!

    ReplyDelete
  50. I just tried all three methods of your awesome tool to recover a lost css file. But though I get no error message the file it returns contains cryptic characters instead of the text. So you know about this srtange result? Can you help me with that?

    ReplyDelete
  51. Hi,
    Is this tool available for webp image from Chrome Compression Proxy ??
    When i try , that don't work..
    How to make it compatible with webp file format?
    Thanks

    ReplyDelete
  52. Chrome is not as simple as others, but it only takes a simple mind to get to know Chrome, is fast and free


    An overview of Android 4

    ReplyDelete
  53. Sorry but all I get is:
    jQuery18309874260637443513_1417759943152({"statusCode":"200"})
    What am I doing wrong here?
    I know the source has queries but the shouldn't it be stripped of all the server side code and just give me exactly what appeared on the browser page on with the same values as before as if I had take a screen shot at the time?

    ReplyDelete
  54. I have the file but how do i view the image from it now. I had a really nice photo I wanted to find in my cache. Did this method flawlessly and extracted it into a folder but I don't know of a program that will now take this file and let me view the image. Any help?

    ReplyDelete
  55. I just called to say I love you! ♩ ♪ ♫ ♬ You're awesome, thx!

    ReplyDelete
  56. THANK YOU SO MUCH!!

    You saved my bacon!

    Huge gratitude your way for such a helpful tool.

    ReplyDelete
  57. All i get when I use any of the 3 methods on any cache content is error: unrecognized format. i am using chrome Version 41.0.2272.101 (64-bit) and macos 10.6.8

    ReplyDelete
  58. Thanks a LOT! This helped me to not jump in front of a bus after a not so smart decision to delete a css-file.

    ReplyDelete
  59. I tried this and it just gave me the following error: "unrecognized format." I also tried the console and it gave me this >> "Uncaught TypeError: Cannot read property '1' of nullmessage: "Cannot read property '1' of null"stack: (...)get stack: function () { [native code] }set stack: function () { [native code] }__proto__: Error(anonymous function) @ VM64:16(anonymous function) @ VM64:188InjectedScript._evaluateOn @ VM47:883InjectedScript._evaluateAndWrap @ VM47:816InjectedScript.evaluate @ VM47:682"

    I don't understand what the problem is...

    ReplyDelete
  60. Thank you. You are legend for making this tool. You saved me big time.

    ReplyDelete
  61. THANK YOU. If it wasn't for you I would have lost the changelog of 11 updates. THANK YOU by heart.

    ReplyDelete
  62. Thanks from Barcelona!!! It's a great tool!! I owe you a beer/drink :)

    ReplyDelete
  63. Thank you so much! This saved my life hahaha

    ReplyDelete
  64. And you saved an other one ! Thank you so much ! *bow*

    ReplyDelete
  65. This comment has been removed by the author.

    ReplyDelete
  66. Hello, how can I view the content after downloading it? I try to open it with chrome but it doesn't show anything.

    ReplyDelete
  67. Whatever I paste above from chrome cache page, it always pops up a window saying "Unrecognized format. see that you have copy/ pasted correctly."

    doesn't work really...

    ReplyDelete
  68. chrome://cache/ is not able to be viewed from an IPad or IPhone :(

    It jumps to chrome://wiew-http-cache

    and says "page unavailable"

    Does anyone know a solution for devices?

    Thank you

    ReplyDelete
  69. Doesn't work.

    The page at www.sensefulsolutions.com says:


    Error: Unrecognized format... please ensure you copy/pasted correctly.

    ReplyDelete
  70. I wish this worked but I also get Error: Unrecognized format... please ensure you copy/pasted correctly.

    ReplyDelete
  71. I wish this worked but I also get Error: Unrecognized format... please ensure you copy/pasted correctly.

    ReplyDelete
  72. What's the next step after download the file? I only see ‹ íX[së¶ ~–~ņ'ɱ3")ÙÇm£Û etc...

    ReplyDelete
    Replies
    1. 1. Decompress the file with a tool that read gzip files such as 7-Zip ! That should give you a file with no extension that is readable.
      2. Just add the extension at the end of the file and you should be able to open it. (EX. you add .html if it's a web page. You add .jpg if it's a JPEG.) If you don't know the file extension, open it with Notepad++ and try to guess what it is from reading the code.

      Delete
  73. Hi when posting I am getting 'error unrecognized format. I am just ctrl+a on the code page and pasting above. How can I make this work?

    Thanks

    ReplyDelete
    Replies
    1. Can you send your code in a pastebin link ? It should help understand what is the problem.

      Delete
  74. This comment has been removed by the author.

    ReplyDelete
  75. a majority of us have the same issue after we downloaded the file. why not just answer the question in the instructions??????

    ReplyDelete
  76. I accidently overwrote and deleted an Eclipse project with the same name as another project I was working on in the same workspace. This royally saved me. Thank you very much.

    ReplyDelete
  77. Maybe I am missing something, but there seems to be no way to actually view to cache to see what I am looking for? Tons of links but no way to see the one I need . Is there better software that will let you view the actual contents of the cache?

    ReplyDelete
  78. Should this work for an audio file? I have tried numerous ways but cannot get past unzipping the file....any suggestions are greatly appreciated, thank you!

    ReplyDelete
  79. You have no idea what you just did to me.
    Thanks. Keep up the good job

    ReplyDelete
  80. AFTER DOWNLOADING:
    1. EXTRACT using 7-Zip (or another preferred program if you have one).
    2. RENAME FILE TYPE depending on what kind of file you've just downloaded - a .jpeg or .gif for an image, or .html for a webpage, et cetera.
    3. OPEN the file to view!

    ReplyDelete
  81. It's not working! I copied literally everything on the cache page, and it says I did it wrong.

    ReplyDelete
  82. Thanks you very much! I was restore my .css file! :)

    ReplyDelete
  83. Chrome is blocking the download of this file. Is there a workaround? Thanks.

    ReplyDelete
  84. Chrome is blocking mine too. And I go to my download list to see see and allow but after that the only option is to save it or copy, not extract with 7.
    Please help, I have been trying this all day, I'm losing my mind because the website company Wix said they are not able to recover this blog post content. Help

    ReplyDelete
  85. This comment has been removed by the author.

    ReplyDelete
  86. Are there any new instructions? I have a Chrome cache from 2014 from a machine and I can NOT get it converted. I have tried the Sensful site on Mac, PC, multiple browsers...none of them will work with option 1 or 2. I have also tried option 3 on a Mac in a terminal window for xxd. I have just downloaded 7-zip and NOTHING! How can this be so complicated?!?!?!

    ReplyDelete
    Replies
    1. WOW! I finally solved my own problem using a tip on another site to check out The Wayback Machine aka the Internet Archive. It worked to find an old version on my backup site.

      Delete
  87. does this still work? Nothing happens when I paste (and hit go) or upload the html file

    ReplyDelete
    Replies
    1. I spent hours trying to get it to work...multiple browsers, Mac and PC. NOTHING. Try "The Wayback Machine" to see if they have an archive of your page.

      Delete