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
    Commented Apr 5, 2012 at 18:43
  • 1
    Or use firefox with this extension.
    – Bibhas
    Commented Apr 5, 2012 at 18:45
  • The firefox extension is a possible answer
    – phwd
    Commented Apr 5, 2012 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
    Commented May 8, 2012 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
    Commented May 8, 2012 at 22:49

3 Answers 3


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. Commented Jul 5, 2013 at 18:45
  • Doesn't work with people you're not friends with anymore :( Commented Dec 15, 2013 at 13:22
  • Also some smileys won't make it. Commented Jan 17, 2015 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.