Jak sprawdzić liczbę wiadomości na Messengerze? Kompletny poradnik
Messenger nie ma wbudowanego licznika wiadomości w konkretnej rozmowie – i nigdy tak naprawdę nie miał, bo jedyne oficjalne rozwiązanie, które kiedyś zwracało tę liczbę, zostało wycofane już w 2015 roku. Żeby sprawdzić, ile wiadomości wymieniłeś z daną osobą, trzeba sięgnąć po eksport własnych danych z Meta i przeanalizować pliki JSON. Ten artykuł przeprowadzi Cię przez cały ten proces krok po kroku – od zamówienia eksportu, przez analizę plików, aż po interpretację wyników.
Najważniejsze informacje z tego artykułu:
- Messenger nie udostępnia wbudowanego licznika wiadomości w rozmowach – jedyną rzetelną metodą jest analiza oficjalnego eksportu danych Meta.
- Eksport w formacie JSON dzieli długie rozmowy na wiele plików (message1.json, message2.json itd.), które trzeba uwzględnić łącznie.
- Pojedynczy rekord w eksporcie może oznaczać wiadomość tekstową, zdjęcie, zdarzenie systemowe lub ślad usuniętej wiadomości.
- Od grudnia 2023 roku czaty szyfrowane end-to-end wymagają osobnej procedury eksportu z poziomu Messenger.com.
- Przesyłanie pliku JSON do internetowych analizatorów Messengera oznacza udostępnienie całej treści prywatnych rozmów – bezpieczniejsza jest analiza lokalna.
Czy Messenger ma wbudowany licznik wiadomości?
Messenger nigdy nie wyświetlał liczby wiadomości bezpośrednio w interfejsie rozmowy. Dawniej tę informację zwracało Graph API Facebooka – konkretnie pole message_count dostępne przez uprawnienie read_mailbox. Meta wycofała to uprawnienie w 2015 roku i od tamtej pory żadne oficjalne API nie zwraca liczby wiadomości z prywatnych rozmów użytkownika.
Licznik widoczny na ikonie aplikacji Messenger pokazuje liczbę rozmów z nieprzeczytanymi wiadomościami, a nie samych wiadomości. Dziesięć wiadomości od jednej osoby skutkuje wskazaniem „1″, a nie „10″.
Każda aplikacja lub strona, która obiecuje policzenie wiadomości bez eksportu danych, albo bazuje na odczycie ekranu, albo po prostu nie działa rzetelnie. Nie ma oficjalnej drogi skrótu.
Jak sprawdzić liczbę wiadomości na Messengerze – eksport danych krok po kroku
Jedyna metoda, która daje wiarygodny wynik, opiera się na pobraniu kopii własnych danych z Meta i zliczeniu rekordów w plikach JSON. Poniżej opisuję cały proces.
Jak zamówić eksport danych z Meta?
- Zaloguj się na Facebooku i przejdź do Centrum kont Meta lub wejdź bezpośrednio w ustawienia swojego profilu.
- Otwórz sekcję Twoje informacje i uprawnienia, a następnie wybierz Eksportuj swoje informacje.
- Wybierz właściwy profil i opcję eksportu do urządzenia.
- W kategorii danych zaznacz wyłącznie Wiadomości – dzięki temu plik będzie gotowy szybciej i zajmie ułamek miejsca w porównaniu z pełnym archiwum.
- Ustaw zakres dat obejmujący całą historię rozmowy lub interesujący Cię okres.
- Wybierz format JSON – to ten format jest przeznaczony do maszynowego odczytu i bezpośredniego zliczania. Format HTML służy głównie do przeglądania danych w przeglądarce.
- Ustaw jakość multimediów na niską lub wyłącz pobieranie multimediów całkowicie.
- Kliknij Utwórz pliki i poczekaj na powiadomienie o gotowości archiwum.
Wskazówka: Link do pobrania eksportu wygasa po kilku dniach. Po otrzymaniu powiadomienia pobierz archiwum od razu i przechowuj je lokalnie, nie w chmurze.
Eksport może się generować od kilku minut do kilku godzin, zależnie od tego, ile lat obejmuje historia konta i jak duże są rozmowy. Przy długich konwersacjach, sięgających kilku lat, warto uzbroić się w cierpliwość.
Jak odnaleźć właściwą rozmowę w archiwum?
Po pobraniu rozpakuj archiwum. Struktura folderów wygląda następująco:
messages/inbox/– aktywne rozmowy prywatne i grupowe.messages/archived_threads/– zarchiwizowane wątki.messages/message_requests/– prośby o kontakt.messages/filtered_threads/– filtrowane wiadomości.messages/e2ee_cutover/– w nowszych eksportach dane z okresu przejścia na szyfrowanie end-to-end.
Część historii rozmowy może się znaleźć w innym folderze niż inbox, dlatego jeśli wynik wydaje się za niski, warto sprawdzić pozostałe katalogi. W folderze konkretnej rozmowy znajdziesz pliki o nazwach message_1.json, message_2.json i tak dalej.
Dlaczego nie wolno liczyć tylko pierwszego pliku?
To jeden z najczęstszych błędów przy liczeniu wiadomości z eksportu. Messenger dzieli długie rozmowy na wiele plików – każdy plik może zawierać maksymalnie około 10 000 rekordów, ale ostatni plik bywa częściowy. Liczenie wyłącznie message_1.json zaniża wynik nawet kilkukrotnie.
Dokładny wynik to suma tablic messages ze wszystkich plików danego wątku. Poniżej prosty skrypt w Pythonie, który działa lokalnie i nie wysyła żadnych danych do internetu:
import json
from pathlib import Path
folder = Path("messages/inbox/nazwa_rozmowy")
total = 0
files = sorted(folder.glob("message_*.json"))
for file in files:
with file.open("r", encoding="utf-8") as f:
data = json.load(f)
total += len(data.get("messages", []))
print("Liczba rekordów:", total)
Jeżeli nie znasz Pythona, możesz użyć Power Query w Excelu – to narzędzie potrafi bezpośrednio wczytać plik JSON i policzyć wiersze według nadawcy bez instalowania dodatkowego oprogramowania.
![]()
Co naprawdę liczy Twój eksport – typy rekordów w pliku JSON
Surowa liczba obiektów w tablicy messages to nie to samo co liczba wiadomości napisanych przez ludzi. Pojedynczy rekord może oznaczać zupełnie różne zdarzenia:
- Wiadomość tekstowa – rekord zawiera pole
contentz treścią. - Wiadomość z załącznikiem – rekord zawiera pola
photos,videos,audio_files,gifslubfiles; kilka zdjęć wysłanych naraz to wciąż jeden rekord, ale z tablicąphotos. - Zdarzenie systemowe – dodanie osoby do grupy, zmiana nazwy czatu, informacja o połączeniu audio lub wideo, przypięcie wiadomości.
- Ślad usuniętej wiadomości – rekord z polem
is_unsentustawionym natrue, bez oryginalnej treści. - Reakcje – nie są osobnymi rekordami, tylko polem
reactionsprzypisanym do konkretnej wiadomości.
Dlatego warto liczyć kilka wartości równolegle, a nie tylko jedną sumę:
Wartości, które warto obliczyć z eksportu:
- Wszystkie rekordy – długość tablicy
messagesze wszystkich plików. - Rekordy z treścią tekstową – rekordy, w których pole
contentjest niepuste. - Rekordy z załącznikami – rekordy zawierające
photos,videos,audio_files,gifslubfiles. - Rekordy oznaczone jako wycofane – rekordy z
is_unsent: true. - Rekordy według nadawcy – zliczenie według pola
sender_name.
Jeden rekord może jednocześnie mieć treść i zdjęcie, dlatego nie należy dodawać do siebie liczby rekordów tekstowych i liczby rekordów z załącznikami – prowadzi to do zawyżenia wyniku.
Wskazówka: Przed zliczaniem według nadawcy sprawdź, czy w eksporcie nie pojawiają się dwie wersje tej samej osoby – zdarza się przy zmianie nazwy konta. W czatach grupowych konta usunięte pojawiają się jako „Użytkownik Facebooka”, co może łączyć wiadomości kilku różnych osób w jednej pozycji.
Jak sprawdzić, kto napisał więcej wiadomości?
Jeśli interesuje Cię podział wiadomości między uczestnikami rozmowy – szczególnie w czatach grupowych – możesz rozbudować podstawowe zliczanie o analizę według nadawcy. Poniżej rozszerzony skrypt, który daje pełniejszy obraz:
import json
from pathlib import Path
from collections import Counter
folder = Path("messages/inbox/nazwa_rozmowy")
all_messages = []
for file in sorted(folder.glob("message_*.json")):
with file.open("r", encoding="utf-8") as f:
all_messages.extend(json.load(f).get("messages", []))
print("Wszystkie rekordy:", len(all_messages))
by_sender = Counter(
message.get("sender_name", "[brak nadawcy]")
for message in all_messages
)
text_messages = sum(
1 for message in all_messages
if message.get("content") is not None
)
with_attachments = sum(
1 for message in all_messages
if any(message.get(field) for field in [
"photos", "videos", "audio_files", "gifs", "files", "sticker"
])
)
print("Rekordy tekstowe:", text_messages)
print("Rekordy z załącznikami:", with_attachments)
print("Według nadawcy:", by_sender)
Warto tu wiedzieć o pewnej pułapce technicznej. W pliku JSON polskie znaki są zapisywane błędnie – na przykład „ł” pojawia się jako \u00c5\u0082, bo to UTF-8 zakodowany jak Latin-1. Jeśli imiona nadawców wyglądają dziwnie, możesz je naprawić konwersją: tekst.encode('latin1').decode('utf8'). Bez tej poprawki wiadomości tej samej osoby mogą się pojawić pod dwiema różnymi wersjami imienia.
Jeśli wolisz zobaczyć, z kim najwięcej piszesz na Messengerze w ujęciu wszystkich rozmów naraz, musisz powtórzyć tę analizę dla każdego folderu konwersacji i zsumować wyniki.
![]()
Jak szyfrowanie end-to-end wpływa na liczbę wiadomości w eksporcie?
Od grudnia 2023 roku czaty prywatne na Messengerze są domyślnie szyfrowane end-to-end. To istotna zmiana, która bezpośrednio wpływa na kompletność standardowego eksportu.
Treść rozmów szyfrowanych nie zawsze trafia do klasycznego eksportu danych w pełnym zakresie. Kompletność historii zależy od tego, czy masz włączoną funkcję bezpiecznego przechowywania wiadomości (zabezpieczoną PIN-em lub kopią zapasową). Jeśli ta funkcja nie była włączona na danym urządzeniu, fragment historii może po prostu nie istnieć w eksporcie.
Dane z czatów szyfrowanych end-to-end można pobrać osobną procedurą:
- Wejdź na Messenger.com z poziomu komputera.
- Przejdź do Prywatność i bezpieczeństwo.
- Wybierz Czaty szyfrowane end-to-end, a następnie Przechowywanie wiadomości.
- Kliknij Pobierz dane przechowywania wiadomości.
- Potwierdź tożsamość PIN-em lub jednorazowym kodem, a następnie hasłem Facebooka.
Jeśli robisz eksport z myślą o kompletnym obliczeniu liczby wiadomości z dłuższego okresu, warto wykonać oba eksporty – standardowy i ten dla czatów szyfrowanych – a następnie połączyć dane, usuwając duplikaty. Najbezpieczniejszym kluczem do deduplikacji jest identyfikator wiadomości, jeśli jest dostępny; pomocniczo można użyć kombinacji nadawcy, pola timestamp_ms, treści i typu załącznika.
Warto też sprawdzić folder e2ee_cutover w eksporcie – może zawierać dane z okresu przejściowego, których nie ma w standardowym folderze inbox.
Jak sprawdzić liczbę wiadomości na Messengerze według daty?
Pole timestamp_ms w każdym rekordzie wiadomości to liczba milisekund od 1 stycznia 1970 roku (UTC). Dzięki niemu możesz nie tylko policzyć wiadomości w konkretnym przedziale czasu, ale też sprawdzić, kiedy rozmowa była najintensywniejsza. Tych danych nie uzyskasz, przewijając aplikację.
Jeśli interesuje Cię filtrowanie po dacie, możesz to zrobić lokalnie na już załadowanych danych. Przykład dla okresu 2020–2024:
from datetime import datetime, timezone
start = datetime(2020, 1, 1, tzinfo=timezone.utc).timestamp() * 1000
end = datetime(2024, 1, 1, tzinfo=timezone.utc).timestamp() * 1000
selected = [
message for message in all_messages
if start <= message.get("timestamp_ms", 0) < end
]
print("Wiadomości w okresie:", len(selected))
Jedna uwaga praktyczna – timestamp_ms jest zawsze w UTC. Jeśli analizujesz dane według konkretnych dni lokalnych, a Twoja strefa czasowa różni się od UTC, wyniki mogą się nieznacznie różnić od intuicyjnych. Do analiz dziennych przelicz timestamp na lokalną strefę czasową przed grupowaniem po dacie.
Przy okazji: jeśli chcesz wyszukać wiadomości na Messengerze po dacie bez analizy plików JSON, możesz skorzystać z wyszukiwarki wbudowanej w aplikację – choć nie da ona liczby wiadomości, tylko ich listę.
Jaka aplikacja liczy wiadomości na Messengerze i czy to bezpieczne?
To pytanie słyszę dość często – i odpowiedź jest krótka: żadna zewnętrzna aplikacja nie policzy wiadomości lepiej niż Ty sam na podstawie oficjalnego eksportu. Co więcej, wiele z nich wiąże się z poważnym ryzykiem.
Zagrożenia związane z zewnętrznymi narzędziami:
- Internetowe analizatory Messengera – wymagają wgrania pliku JSON z Twoją historią rozmów, co oznacza udostępnienie całej treści prywatnych konwersacji nieznanemu podmiotowi.
- Rozszerzenia przeglądarki – mogą wymagać dostępu do aktywnej sesji Messengera i de facto przeglądać Twoje wiadomości w czasie rzeczywistym.
- Skrypty logujące się za użytkownika – naruszają regulamin Meta i mogą prowadzić do zablokowania konta.
- Nieoficjalne API – działają do momentu, gdy Meta zmieni interfejs lub zablokuje endpoint; wynik jest zawodny i może być niekompletny.
Bezpieczną alternatywą jest lokalne przetwarzanie eksportu – skryptem w Pythonie lub przez Power Query w Excelu. Żadne dane nie opuszczają Twojego urządzenia, a wyniki są powtarzalne i weryfikowalne.
Warto tu zaznaczyć, że oficjalne Conversations API Meta nie nadaje się do liczenia prywatnej historii. Dotyczy ono rozmów prowadzonych z Facebook Page lub kontem Instagram Professional, wymaga tokenu dostępu strony i odpowiednich uprawnień, a nawet wówczas zwraca maksymalnie 20 najnowszych wiadomości w wątku.
Jak sprawdzić liczbę wiadomości na Messengerze na iPhonie lub telefonie z Androidem?
Messenger na telefonie – zarówno na iPhonie, jak i na urządzeniu z Androidem – nie oferuje żadnego wbudowanego podglądu liczby wiadomości w rozmowie. Aplikacja mobilna i wersja na komputer działają identycznie pod tym względem: ani w oknie rozmowy, ani w ustawieniach wątku nie ma takiej informacji.
Jedyną różnicą między telefonem a komputerem jest wygoda zamawiania i pobierania eksportu. Eksport można zamówić z poziomu aplikacji mobilnej Facebooka, jednak rozpakowywanie archiwum ZIP i analiza plików JSON są znacznie wygodniejsze na komputerze. Na telefonie da się to technicznie zrobić, ale wymaga dodatkowych aplikacji do obsługi plików i skryptów.
Moje doświadczenie z analizą eksportów podpowiada, że jeśli zależy Ci na czasie, najlepiej zamów eksport na urządzeniu mobilnym (bo masz tam zazwyczaj otwartą aplikację Facebooka), a po jego gotowości pobierz go i przetwórz na komputerze.
Jeśli interesuje Cię natomiast samo przeglądanie historii bez liczenia, możesz sprawdzić, jak znaleźć pierwszą wiadomość na Messengerze – to działa bezpośrednio w aplikacji, bez eksportu.
Wiadomości usunięte a dokładność liczenia
Usunięcie wiadomości przez Messengera ma dwa scenariusze, które różnie wpływają na eksport. Wiadomości usunięte „tylko u siebie” znikają z eksportu bez śladu. Wiadomości wycofane przez opcję „usuń u wszystkich” zostawiają w pliku JSON pusty rekord z polem is_unsent: true – treść jest niewidoczna, ale sam fakt wysłania pozostaje zarejestrowany.
Dlatego przy dokładnym liczeniu warto podać dwie liczby:
- Wszystkie rekordy obecne w eksporcie – obejmują ślady usuniętych wiadomości.
- Rekordy z zachowaną treścią lub załącznikiem – tylko faktycznie dostępne dane.
Przykład kodu, który to rozróżnia:
all_records = len(all_messages)
deleted_or_unsent = sum(
1 for message in all_messages
if message.get("is_unsent") is True
)
available_records = all_records - deleted_or_unsent
print("Wszystkie rekordy:", all_records)
print("Oznaczone jako wycofane:", deleted_or_unsent)
print("Pozostałe rekordy:", available_records)
Warto też wiedzieć, że różnica w liczbach między eksportami dwóch rozmówców jest czymś normalnym, a nie błędem. Jeśli Ty usunąłeś coś „tylko u siebie”, w Twoim eksporcie tego nie ma, ale w eksporcie rozmówcy może to być nadal widoczne.
Jak zweryfikować, czy wynik jest kompletny?
Po obliczeniu liczby rekordów dobrze jest sprawdzić, czy eksport obejmuje oczekiwany zakres historii. Pamiętam sytuację, gdy analizowałem eksport rozmowy, która trwała od 2018 roku, a najnowszy rekord w plikach JSON kończył się na 2023. Okazało się, że nowsze wiadomości trafiły do osobnego eksportu czatów szyfrowanych, którego nie uwzględniłem. Bez tej weryfikacji wynik byłby zaniżony o kilka tysięcy rekordów.
Żeby mieć pewność, że dane są kompletne, sprawdź i zapisz:
- datę wykonania eksportu,
- zakres dat wybrany w Centrum kont,
- liczbę znalezionych plików
message_*.jsonw folderze rozmowy, - sumę rekordów z każdego pliku,
- liczbę rekordów oznaczonych jako
is_unsent, - najstarszy i najnowszy
timestamp_msw danych – czy odpowiadają oczekiwanemu zakresowi, - informację, czy uwzględniono osobny eksport czatów szyfrowanych end-to-end.
Jeśli eksport miał obejmować lata 2018–2026, a najnowszy rekord pochodzi z 2023 lub 2024, wynik należy uznać za niekompletny do czasu dołączenia danych z eksportu przechowywania wiadomości E2EE.
Rzetelna formuła końcowego wyniku brzmi: „W eksporcie z dnia X, w folderze rozmowy Y, znaleziono Z rekordów; W oznaczono jako wycofane, a V zawierało treść tekstową”. Taka forma jest znacznie mocniejsza metodologicznie niż samo stwierdzenie „mamy razem 15 000 wiadomości”, bo wprost wskazuje ograniczenia pomiaru.
Wskazówka: Jeśli chcesz pobrać historię rozmów z Messengera i nie wiesz, od czego zacząć, możesz sprawdzić szczegółową instrukcję pobierania historii rozmów z Messengera – opisuje ona cały proces eksportu od podstaw.
Jak odczytać wiadomości z eksportu bez skryptów?
Jeśli Python to za dużo technicznego wysiłku, plik JSON możesz otworzyć w Excelu przez Power Query. Excel potrafi bezpośrednio wczytać strukturę JSON, rozwinąć tablicę messages do tabeli i policzyć wiersze według kolumny sender_name. To dobre rozwiązanie dla osób, które znają Excela, ale nie programują.
Alternatywnie, plik message_1.json możesz po prostu otworzyć w edytorze tekstu (np. Notepad++) i ręcznie zobaczyć, jak wygląda struktura danych. Zliczenie pozycji w ten sposób jest jednak możliwe jedynie przy bardzo krótkich rozmowach – przy tysiącach wiadomości ręczne liczenie mija się z celem.
Jeśli chcesz tylko przejrzeć historię rozmowy bez liczenia, sprawdź, jak odczytać wiadomości na Messengerze – tam znajdziesz prostsze metody przeglądania archiwum.
Podsumowanie
Sprawdzenie liczby wiadomości na Messengerze wymaga pobierania oficjalnego eksportu danych z Meta w formacie JSON, a następnie zliczenia rekordów ze wszystkich plików danej rozmowy. Messenger nie oferuje wbudowanego licznika, a narzędzia zewnętrzne wiążą się z ryzykiem utraty prywatności. Długie rozmowy są dzielone na wiele plików, a od 2023 roku czaty szyfrowane end-to-end wymagają osobnej procedury eksportu. Rzetelny wynik zawiera trzy liczby – wszystkie rekordy, wycofane i te z zachowaną treścią – bo dopiero razem dają pełny obraz historii rozmowy.
FAQ
Q: Czy mogę sprawdzić liczbę wiadomości na Messengerze bez pobierania eksportu?
A: Nie ma oficjalnej metody. Messenger nie pokazuje liczby wiadomości w interfejsie, a dawne API, które to umożliwiało, zostało wyłączone w 2015 roku. Eksport danych to jedyna rzetelna droga.
Q: Czy eksport danych z Meta zawiera wiadomości z czatu na Instagramie?
A: Wiadomości z Instagrama znajdują się w eksporcie danych Instagrama, nie Facebooka. Rozmowy prowadzone przez czat międzyaplikacyjny (zakończony przez Metę w grudniu 2023 roku) mogą wymagać połączenia obu eksportów.
Q: Jak długo trwa generowanie eksportu danych z Messengera?
A: Od kilku minut do kilku godzin, zależnie od zakresu dat i liczby rozmów. Eksport ograniczony do kategorii Wiadomości bez multimediów generuje się znacznie szybciej.
Q: Czy eksport wiadomości z Messengera obejmuje wiadomości głosowe i połączenia?
A: Tak, eksport może zawierać pliki audio z wiadomości głosowych oraz rekordy połączeń z polem call_duration. Połączenia są osobnymi rekordami systemowymi w tablicy messages.
Q: Czy współrozmówca jest powiadamiany o tym, że pobierają eksport moich danych?
A: Nie. Pobieranie własnych danych z Meta jest prywatne i nie generuje żadnego powiadomienia dla innych uczestników rozmowy.















Opublikuj komentarz