33

How can I download all my private messages from Facebook?

I don't really want to have to scroll through the actual messages, wait for older ones to load, and copy and paste since I have 7k+ messages so far.

I'm open to any solution.

19

To download your data, log into Facebook, then click the little arrow in the top right and select "Account Settings".

In the bottom left of your "General Account Settings" find the line of text that says "Download a copy of your Facebook data" and click the link.

enter image description here

  • 1
    Huh, interesting. When I first tried this in June, Facebook gave me only the 20-30 most recent messages in the archive, but now it gives me all of them. (it takes forever to archive everything, but oh well) – Michael0x2a Nov 26 '12 at 5:24
  • +1 This seems to be the only thing that really works. I'm still surprised there's no Facebook app for this, since the Facebook API seems to allow access to messages. – EM0 Oct 19 '13 at 15:35
  • 4
    This will not give you all of the messages. If you message someone every day all the time, you'll have a lot of messages in between the two of you. However, Facebook data download will only go back so far. It's inconsistent and fairly broken. – Austin Burk May 6 '16 at 21:47
  • 1
    It's not working for me neither. I have around 18000 messages to download. Not sure how many I'm getting using this method. – hectorpal Jun 9 '16 at 20:19
  • Seems the limit is now 10000 per thread. (Weirdly, it's possible to have multiple threads with the same person. Not sure why that is.) – tjvr Oct 2 '17 at 23:45
11

To start, use a computer and open the Google Chrome browser. If you don’t have Google Chrome, then download it. Then use the Google Chrome browser to go to http://m.facebook.com/messages/

Then click the person you want to see the first message with.

Now press Ctrl+Shift+J and then paste this code into the lower window that pops up, and then press Enter. It will then proceed to load old messages until it reaches the very first message. Here is the code:

setInterval(function () {
document.getElementById('see_older')
.getElementsByClassName('content')[0].click();
}, 500); 

The above code can also be found on this website: http://jsfiddle.net/magicramki/k9gda3cu/

If you do not want to go back all the way, you will need to stop the script. In order to do that, you will first need to define it as a variable:

var myVar=setInterval(function () {
document.getElementById('see_older')
.getElementsByClassName('content')[0].click();
}, 500); 

Then to stop it, you will simply need to enter the following command:

window.clearInterval(myVar)

You can resume the script anytime by typing the first part again.

Now once it loads everything, you have two options. You can right click anywhere on the page and choose "save as" and then save that file somewhere on your computer. Then use Google Chrome to open it when you want to view it later (won't look right in Internet Explorer). This will save the entire chat, complete with pictures and emoticons. When you want to search for a particular day, press Ctrl+F to bring up the find box. Then type in "Mar 2", for example, to bring up the conversation on March 2nd.

The second option is to highlight the parts that you want to save, and then copy by pressing Ctrl+C. Then open Microsoft Word and paste that into the document by pressing Ctrl+V. Now save that file. This will save the text and pictures, but not the emoticons.

  • I confirm this one as the only answer that a) still works as of August 2016 and b) really does what was asked in the question. This method yields the best result of all mentioned here: downloads messagges, pictures and GIFs, and keeps the original appearance. It still does not save videos (couldn't test with other files though) and only saves low-res versions of the images. A more sophisticated tool that really saves everything, including high-res images, would be great to be provided, officially or unofficially... couldn't find anything yet though. – Neinstein Aug 7 '16 at 23:00
  • A year later, it fails with the following error:Uncaught TypeError: Cannot read property 'getElementsByClassName' of null \n at <anonymous>:3:1. The name of the element used in your code appears to have changed. I lack competence to find it, could you please update your code? – Neinstein Sep 8 '17 at 16:54
  • It is working in October 2018 too. – Shiplu Mokaddim Oct 15 '18 at 22:31
  • Note that what the script does it to click the "see older messages" for you. Still works on Fri, Jun 21, 2019 I'm waiting for it to load all – Gellie Ann Jun 21 at 5:22
5

You can try going to http://m.facebook.com/ and click on "Messages".

Select a person to view the history, and click on "See Older Messages" once.

Notice that &start= part in the URL, that's the number of received and sent messages minus 7.

Notice the &page_size=7 part in the URL. Currently, Facebook does not limit this number, you can set that to a number bigger than the start value. This makes it disable pagination and displays all the messages it found, except the skipped 7. (If the number's smaller, somehow Facebook will display only 7).

** To make it work on Chrome, left click on "See Older Messages" and choose "open in a new tab" and there you will find the "page_size=" number to change. (May 2013)

  • Interestingly, this appears to work only in Firefox and IE, but not Chrome. I'm not really sure why. – Michael0x2a Sep 3 '12 at 6:30
  • Doesn't work for me in Firefox, either. Chrome just doesn't show start and page_size URL parameters - the URL is completely different. Firefox shows them, but changing page_size seems to have no effect - I still see only a few messages at a time. – EM0 Oct 19 '13 at 15:27
  • this works, this is great to get to the start of the conversation. But you have to go through each pages to get the whole thing. – David 天宇 Wong Dec 15 '13 at 13:52
  • 1
    I confirm that now the page_size parameter is no longer present for all three browsers (Firefox, IE and Chrome) – 5agado Jun 16 '15 at 15:58
2

I use a tool called SocialSafe that backs up all of (well, pretty much all of) my Facebook content, and that now includes messages. I can search through them all, and also jump see in the little diary part of it all of the different things that I've done on Facebook over the years.

  • But does it allow you to save them to a file on your disk? If so, in what format? Are emoticons, links, etc. included? – EM0 Oct 19 '13 at 15:27
  • The application doesn't allow anymore to create a backup of inbox messages, as reported here – 5agado Jun 16 '15 at 16:01
  • As reported at socialsafe.net the work has been merged into digi.me – Ben Creasy Mar 19 '18 at 20:15
2

Download a copy of your Facebook data: click the little arrow in the top right and select "Account Settings". Then find the line of text that says "Download a copy of your Facebook data" and click the link.

I wrote a handy python script called mesExtractor that help you extract any conversation in your Facebook data. Using this script, I'm able to extract 60k+ messages in one conversation of my Facebook data. See the demo from github here:

asciicast

  • 1
    Do you have a particular release license for this? I've made a number of modifications and I'd like to post it publicly to my github. I'll probably put it under the MIT license for free use (and credit you, of course). Let me know if you would prefer that I not. – Matter Cat Feb 19 '17 at 1:18
  • Just feel free to use it :) I just make it for fun :) – GiapLv Feb 20 '17 at 13:10
  • Sounds good. Thanks very much! – Matter Cat Feb 21 '17 at 6:12
1

If you use Chrome, I have an extension just for this purpose.

Here is the link Messages Saver for Facebook.

I didn't try the really big chats, but what I have (up to 15,000 messages) it saves. You can also save in parts.

You can choose whether to save your chat as just text, an html file with all smileys, emojis, pictures and other files embedded, or as a zip file, then all the files will be saved locally to your computer.

0

There is an add-on for Firefox which downloads your facebook inbox and saves it in txt files. Take a look here: https://addons.mozilla.org/en-US/firefox/addon/red1/ or here: http://www.facebook.com/Red1MessageArchiver

-1

Just go to your browsers menu and click "save as" while you're on the page with the messages. Make sure all the messages are showing by clicking to load them each time, until you have scrolled back to the beginning. This will save the entire web page, including your pictures and you will be able to scroll through the message exactly like the original on Facebook. Hope this helps!

  • Unfortunately, when you have over 100k messages from one person, this solution doesn't scale. I'd have to sit in front of my computer for days if I want to get to the very start for just one person. – Michael0x2a Mar 10 '14 at 2:00

protected by Community Feb 25 '17 at 5:16

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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