Is there a way to set up printing an entire Facebook thread?

Using the print dialog, it seems to only grab with is available up to "Loading earlier messages" If one has 5000+ messages in one thread this can be a pain.

Is there a way to print or export this for easy reading?

  • Have to use the API to make a custom app for this. No other way.
    – Bibhas
    Apr 5 '12 at 18:43
  • 1
    Or use firefox with this extension.
    – Bibhas
    Apr 5 '12 at 18:45
  • The firefox extension is a possible answer
    – phwd
    Apr 5 '12 at 18:54
  • 1
    The messages should all be present in the Download Your Information tool on Facebook, right? you could try that and see if it's easily printable
    – Igy
    May 8 '12 at 22:08
  • 1
    @Igy cool, well that sounds like a possible answer as long it's easily printable. If it is bundled in HTML I could change around the CSS to suit. Thanks, you could post that as answer or I could when I try it out, doesn't matter to me
    – phwd
    May 8 '12 at 22:49

You can probably get the information you need from Facebook's 'Download your information' tool - this is accessed from the Account Settings page, via a link marked 'Download a copy of your Facebook data'

It takes a while, but the archive will include chat messages

Tool screenshot

  • This works for the text, but all pictures are missing. Jul 5 '13 at 18:45
  • Doesn't work with people you're not friends with anymore :( Dec 15 '13 at 13:22
  • Also some smileys won't make it. Jan 17 '15 at 5:43

I ran this small script in the developer console of the Graph API Explorer to download a full conversation as JSON:

var messages = [];
var messageId = 123456; //etc
var token = $('#access_token').val();

function process(data) {
    if(data.data.length) {
        messages = messages.concat(data.data)
    if(data.paging && data.paging.next) {
        console.log('Getting next page');
        return $.getJSON(data.paging.next).then(process)

     'https://graph.facebook.com/' + messageId + '/comments' +
     '?format=json&access_token=' + token
).then(process).then(function() {
    var blob = new Blob([JSON.stringify(messages)], {type: 'text/json'});
    location.href = URL.createObjectURL(blob);

You'll need to paste jquery.min.js in there, and give yourself a read_mailbox extended permission, before running that


You can first save your chat with the help of a browser extension called Messages Saver for Facebook. Download and install it from here

It can save your chats in various formats:

  • plain text
  • HTML with all the media in a chat
  • CSV file for easy export to Excel
  • ZIP archive, then all the media of a chat are saved locally to your computer, which makes your chat virtually independent from Facebook servers.

After having saved your chat you can open it in your browser and press CTRL+P which will take you to a print-out window.

Hope that helps.

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