Jak eksportować zakładki Firefox: Kompletny przewodnik techniczny
Eksportowanie zakładek Firefox tworzy przenośny plik HTML zawierający każdy zapisany URL, strukturę folderów i metadane z profilu przeglądarki. Plik ten jest uniwersalnie kompatybilny ze wszystkimi głównymi przeglądarkami — Chrome, Edge, Safari, Brave — i służy jako niezawodna kopia zapasowa offline, niezależna od jakiejkolwiek usługi synchronizacji.
Proces eksportu zajmuje mniej niż dwie minuty: otwórz Bibliotekę Firefox (Ctrl+Shift+O), kliknij Importuj i kopie zapasowe, wybierz Eksportuj zakładki do HTML, wybierz lokalizację zapisu i kliknij Zapisz. Wynikowy plik .html jest czytelny dla człowieka, w pełni przenośny i nie wymaga instalacji Firefox, aby go otworzyć lub zaimportować w innym miejscu.
Dlaczego eksportowanie zakładek ma większe znaczenie, niż myślisz
Większość użytkowników traktuje zakładki jako tymczasowe dane przeglądarki, ale w praktyce reprezentują one lata wyselekcjonowanych badań, odniesień do projektów, linków klientów i skrótów do przepływu pracy. Poleganie wyłącznie na Firefox Sync wprowadza jeden punkt awarii: jeśli Twoje konto Firefox zostanie przejęte, przypadkowo wylogowane lub usługa synchronizacji ulegnie awarii, cała biblioteka zakładek może stać się niedostępna.
Lokalnie wyeksportowany plik HTML eliminuje tę zależność. Umożliwia również:
- Migrację między przeglądarkami bez ręcznego ponownego wprowadzania URL
- Przekazywanie zespołom lub klientom, gdy wspólny zestaw zakładek wymaga dystrybucji
- Archiwalne migawki przed większymi zmianami profilu przeglądarki lub ponowną instalacją systemu operacyjnego
- Dostęp do zakładek po stronie serwera podczas zarządzania zdalnym środowiskiem przez VPS Hosting i uruchamiania bezgłowej przeglądarki lub skryptu automatyzacji wymagającego listy startowych URL
- Zgodność i ścieżki audytu w regulowanych środowiskach, gdzie przeglądane zasoby muszą być dokumentowane
Zrozumienie struktury danych zakładek Firefox
Przed przejściem przez kroki eksportu warto zrozumieć, co Firefox faktycznie przechowuje i jak eksport HTML to reprezentuje.
Firefox przechowuje zakładki wewnętrznie w bazie danych SQLite znajdującej się pod adresem:
- Windows:
%APPDATA%MozillaFirefoxProfiles<profile-id>places.sqlite - macOS:
~/Library/Application Support/Firefox/Profiles/<profile-id>/places.sqlite - Linux:
~/.mozilla/firefox/<profile-id>/places.sqlite
Baza danych places.sqlite zawiera tabele moz_bookmarks i moz_places. Podczas eksportu do HTML Firefox odczytuje te tabele i generuje dokument w formacie Netscape Bookmark File Format — tym samym formacie, który pierwotnie wprowadził Netscape Navigator i który jest teraz de facto standardem wymiany zakładek we wszystkich przeglądarkach.
Wyeksportowany plik HTML zachowuje:
- Hierarchię folderów jako zagnieżdżone elementy
<DL>i<DT> - Znaczniki czasu Unix ADD_DATE i LAST_MODIFIED dla każdego wpisu
- Atrybuty ICON zawierające favikony zakodowane w Base64 (może to znacznie zwiększyć rozmiar pliku przy dużych eksportach zakładek)
- Tagi przechowywane jako specjalny płaski folder o nazwie „Tags”
- Pasek zakładek, Menu zakładek i Inne zakładki jako kontenery najwyższego poziomu
Jedna istotna kwestia: eksport HTML nie zawiera skrótów słów kluczowych zakładek (jednowyrazowych aliasów, które można przypisać do zakładek w celu szybkiego uruchamiania z paska adresu). Są one przechowywane oddzielnie w places.sqlite i są tracone podczas standardowego eksportu HTML. Jeśli skróty słów kluczowych są ważne dla Twojego przepływu pracy, wykonaj kopię zapasową places.sqlite bezpośrednio.
Krok po kroku: eksportowanie zakładek Firefox przez GUI
Krok 1: Otwórz Bibliotekę Firefox
Uruchom Firefox. Uzyskaj dostęp do Biblioteki jedną z metod:
- Kliknij menu hamburger (trzy poziome linie) w prawym górnym rogu, następnie wybierz Zakładki, a potem Zarządzaj zakładkami
- Użyj skrótu klawiszowego
Ctrl+Shift+Ow Windows/Linux lubCmd+Shift+Ow macOS
Okno Biblioteki otwiera się jako osobny panel wyświetlający pełne drzewo zakładek.
Krok 2: Uzyskaj dostęp do menu Importuj i kopie zapasowe
W oknie Biblioteki znajdź pasek narzędzi na górze. Kliknij przycisk Importuj i kopie zapasowe. Pojawi się lista rozwijana z następującymi opcjami:
- Kopia zapasowa (zapisuje skompresowany plik JSON
.jsonlz4— format specyficzny dla Firefox) - Przywróć (z poprzedniej kopii zapasowej
.jsonlz4) - Importuj zakładki z HTML
- Eksportuj zakładki do HTML
- Importuj dane z innej przeglądarki
Wybierz Eksportuj zakładki do HTML.
Krok 3: Wybierz lokalizację zapisu i wyeksportuj
Otwiera się standardowe okno dialogowe pliku systemu operacyjnego. Przejdź do preferowanej lokalizacji zapisu. Zalecane lokalizacje w zależności od przypadku użycia:
- Lokalna kopia zapasowa:
Documents/Bookmarks-Backups/ - Transfer między urządzeniami: dysk USB lub folder synchronizowany z chmurą
- Środowiska serwerowe: współdzielona ścieżka sieciowa lub zamontowany wolumin
Nadaj plikowi opisową nazwę, na przykład firefox_bookmarks_2025-07-15.html, a następnie kliknij Zapisz.
Firefox natychmiast zapisuje plik. Dla typowych zestawów zakładek nie ma paska postępu — operacja kończy się w milisekundach dla bibliotek zawierających kilka tysięcy wpisów.
Krok 4: Zweryfikuj wyeksportowany plik
Nie pomijaj weryfikacji. Otwórz wyeksportowany plik HTML w dowolnym edytorze tekstu lub karcie przeglądarki, aby potwierdzić, że zawiera Twoje dane. W terminalu:
# Check file size and line count as a quick sanity check
wc -l firefox_bookmarks_2025-07-15.html
grep -c "<A HREF" firefox_bookmarks_2025-07-15.htmlDrugie polecenie zwraca łączną liczbę poszczególnych wpisów zakładek. Jeśli liczba jest znacznie niższa niż oczekiwano, wyeksportuj ponownie — Firefox czasami po cichu nie wykonuje operacji zapisu, jeśli katalog docelowy ma problemy z uprawnieniami.
Krok po kroku: eksportowanie zakładek Firefox przez wiersz poleceń
Dla użytkowników zarządzających Firefox na zdalnym serwerze, uruchamiających automatyczne kopie zapasowe lub skryptujących migracje profili, podejście przez GUI jest niepraktyczne. Firefox nie udostępnia natywnej flagi eksportu CLI, ale można wyodrębnić zakładki bezpośrednio z places.sqlite przy użyciu narzędzi SQLite.
Wymagania wstępne
Upewnij się, że sqlite3 jest zainstalowany:
# Debian/Ubuntu
sudo apt install sqlite3
# RHEL/CentOS/AlmaLinux
sudo dnf install sqliteEksportuj wszystkie URL zakładek z places.sqlite
# Set your Firefox profile path
PROFILE_DIR="$HOME/.mozilla/firefox/$(ls ~/.mozilla/firefox/ | grep '.default-release')"
# Export all bookmark URLs to a plain text file
sqlite3 "$PROFILE_DIR/places.sqlite"
"SELECT moz_places.url FROM moz_bookmarks
JOIN moz_places ON moz_bookmarks.fk = moz_places.id
WHERE moz_bookmarks.type = 1;"
> bookmarks_export.txtWażne: Firefox musi być całkowicie zamknięty przed uruchomieniem tego zapytania. SQLite zwróci błąd „database is locked”, jeśli Firefox utrzymuje aktywną blokadę zapisu na places.sqlite. W systemach Linux możesz to zweryfikować za pomocą:
lsof | grep places.sqliteProgramowe generowanie pełnego eksportu HTML
Aby uzyskać kompletny eksport HTML odpowiadający natywnemu formatowi Firefox, użyj Python z modułem standardowej biblioteki sqlite3:
import sqlite3
import os
import time
profile_path = os.path.expanduser(
"~/.mozilla/firefox/<your-profile-id>/places.sqlite"
)
conn = sqlite3.connect(f"file:{profile_path}?mode=ro", uri=True)
cursor = conn.cursor()
cursor.execute("""
SELECT mp.url, mb.title, mb.dateAdded
FROM moz_bookmarks mb
JOIN moz_places mp ON mb.fk = mp.id
WHERE mb.type = 1 AND mb.title IS NOT NULL
ORDER BY mb.dateAdded DESC
""")
rows = cursor.fetchall()
conn.close()
with open("bookmarks_export.html", "w", encoding="utf-8") as f:
f.write("<!DOCTYPE NETSCAPE-Bookmark-file-1>n")
f.write("<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">n")
f.write("<TITLE>Bookmarks</TITLE>n<H1>Bookmarks</H1>n<DL><p>n")
for url, title, date_added in rows:
ts = date_added // 1000000 # Convert microseconds to Unix timestamp
f.write(f' <DT><A HREF="{url}" ADD_DATE="{ts}">{title}</A>n')
f.write("</DL><p>n")
print(f"Exported {len(rows)} bookmarks.")To podejście jest szczególnie przydatne podczas automatyzacji archiwizacji zakładek na Serwerze Dedykowanym wykonującym zaplanowane zadania automatyzacji przeglądarki.
Importowanie wyeksportowanego pliku HTML do innych przeglądarek
Google Chrome i Chromium
- Otwórz Chrome i przejdź do
chrome://bookmarks/ - Kliknij menu z trzema kropkami w prawym górnym rogu Menedżera zakładek
- Wybierz Importuj zakładki
- Wybierz wyeksportowany plik
.html
Chrome importuje całą strukturę folderów i umieszcza ją w folderze oznaczonym „Imported” na Pasku zakładek.
Microsoft Edge
- Otwórz Edge i przejdź do
edge://favorites/ - Kliknij menu z trzema kropkami, a następnie Importuj ulubione
- Wybierz Plik HTML z ulubionymi lub zakładkami
- Przejdź do wyeksportowanego pliku i kliknij Importuj
Safari (macOS)
- Otwórz Safari
- Przejdź do Plik > Importuj z > Plik HTML zakładek
- Wybierz wyeksportowany plik
.html
Brave Browser
- Otwórz Brave i przejdź do
brave://bookmarks/ - Kliknij menu z trzema kropkami, wybierz Importuj zakładki
- Wybierz plik HTML
Porównanie formatów kopii zapasowych Firefox: HTML vs. JSON
Firefox oferuje dwa natywne formaty eksportu. Zrozumienie różnicy jest niezbędne do wyboru właściwej strategii tworzenia kopii zapasowych.
| Funkcja | Eksport HTML (`.html`) | Kopia zapasowa JSON (`.jsonlz4`) |
|---|---|---|
| Format | Netscape Bookmark File (HTML) | Skompresowany JSON (specyficzny dla Mozilla) |
| Kompatybilność między przeglądarkami | Tak — wszystkie główne przeglądarki | Nie — tylko Firefox |
| Zachowuje strukturę folderów | Tak | Tak |
| Zachowuje tagi | Częściowo (jako płaski folder) | W pełni |
| Zachowuje skróty słów kluczowych | Nie | Nie |
| Zachowuje favikony | Tak (inline Base64) | Tak |
| Rozmiar pliku | Większy (ikony Base64 zwiększają rozmiar) | Mniejszy (kompresja LZ4) |
| Czytelny dla człowieka | Tak | Nie (binarnie skompresowany) |
| Cel przywracania | Dowolna przeglądarka | Tylko Firefox |
| Najlepszy przypadek użycia | Migracja, udostępnianie między przeglądarkami | Pełna kopia zapasowa profilu Firefox |
| Przyjazny dla automatyzacji | Tak (parsowany HTML/XML) | Wymaga kroku dekompresji |
Praktyczne zalecenie: Używaj kopii zapasowej JSON (przez Importuj i kopie zapasowe > Kopia zapasowa) do rutynowych migawek profilu Firefox, a eksportu HTML do migracji między przeglądarkami lub zewnętrznej archiwizacji.
Automatyzacja kopii zapasowych zakładek Firefox
Dla użytkowników, którzy chcą zaplanowanych, bezobsługowych kopii zapasowych zakładek — szczególnie istotnych w systemach z trwałymi sesjami przeglądarki lub stosami automatyzacji — zadanie cron zapewnia czyste rozwiązanie.
Zadanie cron Linux dla tygodniowej kopii zapasowej zakładek
# Edit crontab
crontab -eDodaj następującą linię, aby uruchamiać co niedzielę o 2:00 w nocy:
0 2 * * 0 sqlite3 -readonly "$HOME/.mozilla/firefox/$(ls $HOME/.mozilla/firefox | grep '.default-release')/places.sqlite" "SELECT url FROM moz_bookmarks JOIN moz_places ON moz_bookmarks.fk = moz_places.id WHERE moz_bookmarks.type = 1;" > "$HOME/backups/bookmarks_$(date +%Y-%m-%d).txt" 2>/dev/nullUpewnij się, że Firefox nie jest uruchomiony podczas zaplanowanego okna tworzenia kopii zapasowej lub użyj połączenia SQLite tylko do odczytu (flaga -readonly), aby uniknąć konfliktów blokowania.
Alternatywa dla Harmonogramu zadań Windows
W Windows użyj PowerShell, aby zlokalizować i skopiować plik places.sqlite do katalogu kopii zapasowej:
$profilePath = Get-ChildItem "$env:APPDATAMozillaFirefoxProfiles" -Directory |
Where-Object { $_.Name -like "*.default-release" } |
Select-Object -First 1 -ExpandProperty FullName
$destination = "$env:USERPROFILEDocumentsFirefoxBackupsplaces_$(Get-Date -Format 'yyyy-MM-dd').sqlite"
Copy-Item "$profilePathplaces.sqlite" -Destination $destination
Write-Host "Backup saved to $destination"Firefox Sync vs. lokalny eksport HTML: kiedy używać każdego z nich
Firefox Sync przechowuje zakładki w infrastrukturze chmurowej Mozilla, synchronizując je w czasie rzeczywistym na różnych urządzeniach. Jest wygodny, ale wprowadza zależności: konto Mozilla, aktywne połączenie internetowe i zaufanie do usługi zewnętrznej.
Lokalny eksport HTML jest deterministyczny, offline i niezależny od formatu. Nie wymaga konta i działa niezależnie od warunków sieciowych.
Oba podejścia nie wykluczają się wzajemnie. Dojrzała strategia tworzenia kopii zapasowych używa obu: Sync dla dostępności między urządzeniami w czasie rzeczywistym i okresowych eksportów HTML dla wersjonowanych, dostępnych offline migawek przechowywanych w lokalizacji, którą kontrolujesz — na przykład w katalogu na instancji VPS Hosting uruchamiającej osobisty serwer plików lub wdrożenie Nextcloud.
Typowe pułapki i przypadki brzegowe
Duże biblioteki zakładek z wieloma fawikonami: Eksport HTML osadza favikony jako ciągi Base64. Biblioteka z ponad 5 000 zakładek może wygenerować plik HTML przekraczający 50 MB, który niektóre przeglądarki mają trudności z importowaniem. Jeśli napotkasz błędy importu, usuń favikony za pomocą edytora tekstu lub skryptu przed importowaniem.
Błąd zablokowanej bazy danych podczas eksportu CLI: Jak wspomniano powyżej, Firefox musi być zamknięty. W Linux, jeśli Firefox uległ awarii i pozostawił plik blokady, usuń ~/.mozilla/firefox/<profile-id>/places.sqlite-wal i places.sqlite-shm przed próbą wykonania zapytania.
Zduplikowane zakładki po imporcie: Importowanie pliku HTML do Firefox (a nie do innej przeglądarki) dołącza zakładki bez deduplikacji. Jeśli zaimportujesz ten sam plik dwa razy, będziesz mieć zduplikowane wpisy. Użyj rozszerzenia przeglądarki lub skryptu deduplikacji, aby wyczyścić.
Problemy z kodowaniem znaków spoza ASCII: Format Netscape Bookmark określa kodowanie UTF-8, ale niektóre starsze implementacje eksportu domyślnie używają ustawień regionalnych systemu. Jeśli tytuły zakładek zawierają znaki cyrylicy, CJK lub arabskie, sprawdź, czy wyeksportowany plik otwiera się poprawnie przed potraktowaniem go jako niezawodnej kopii zapasowej.
Uszkodzenie profilu: Jeśli places.sqlite jest uszkodzony (Firefox zazwyczaj Cię o tym ostrzeże), eksport HTML może być niekompletny lub zakończyć się po cichu niepowodzeniem. W takim przypadku użyj wbudowanego odzyskiwania profilu Firefox: przejdź do about:support, kliknij Otwórz folder profilu i poszukaj places.sqlite.corrupt — Firefox czasami tworzy to automatycznie.
Przechowywanie i zarządzanie wyeksportowanymi plikami zakładek
Po wyeksportowaniu traktuj plik HTML jako wersjonowany artefakt. Zalecane praktyki przechowywania:
- Nazywaj pliki z datami ISO 8601:
bookmarks_2025-07-15.htmlsprawia, że sortowanie chronologiczne jest trywialne - Przechowuj co najmniej trzy wersje: bieżącą, sprzed miesiąca, sprzed trzech miesięcy
- Przechowuj jedną kopię poza urządzeniem: zasobnik pamięci masowej w chmurze, zdalny serwer lub zaszyfrowany dysk USB
- Dla zespołów: przechowuj kanoniczny plik zakładek w repozytorium git, aby śledzić dodania i usunięcia w czasie z pełną historią różnic
Jeśli zarządzasz wieloma serwerami lub środowiskami klientów, utrzymywanie scentralizowanego archiwum zakładek na Serwerze Dedykowanym z kontrolowanym dostępem zapewnia zespołowi stały dostęp do najnowszego zatwierdzonego zestawu URL.
Macierz decyzyjna: której metody eksportu powinieneś użyć?
| Scenariusz | Zalecana metoda |
|---|---|
| Jednorazowa migracja przeglądarki do Chrome/Edge | Eksport HTML przez GUI |
| Regularna osobista kopia zapasowa (tylko Firefox) | Zaplanowana kopia zapasowa JSON przez Importuj i kopie zapasowe |
| Automatyczna archiwizacja po stronie serwera | Zapytanie CLI SQLite lub skrypt Python |
| Udostępnianie zakładek zespołowi | Eksport HTML przechowywany we współdzielonym repozytorium |
| Pełne odzyskiwanie profilu po awarii | Skopiuj cały places.sqlite + key4.db |
| Synchronizacja między platformami bez konta Mozilla | Eksport HTML na samodzielnie hostowany serwer plików |
| Dokumentacja zgodności/audytu | Eksport HTML z nazwami plików zawierającymi datę |
Techniczna lista kontrolna kluczowych wniosków
- Eksportuj do HTML dla kompatybilności między przeglądarkami; używaj kopii zapasowej JSON dla migawek o pełnej wierności tylko dla Firefox
- Weryfikuj wyeksportowane pliki za pomocą liczby linii lub liczby zakładek — ciche błędy zdarzają się
- Całkowicie zamknij Firefox przed jakimkolwiek bezpośrednim dostępem do
places.sqlite, aby uniknąć błędów blokady bazy danych - Eksporty HTML osadzają favikony Base64; bardzo duże biblioteki mogą generować pliki przekraczające limity rozmiaru importu przeglądarki
- Skróty słów kluczowych przypisane do zakładek nie są zachowywane ani w eksportach HTML, ani JSON — dokumentuj je oddzielnie
- Automatyzuj eksporty za pomocą cron (Linux) lub Harmonogramu zadań (Windows) zamiast polegać na ręcznej dyscyplinie
- Przechowuj wersjonowane, opatrzone datą kopie w co najmniej dwóch lokalizacjach, z których jedna jest poza urządzeniem
- W środowiskach zespołowych lub przepływach pracy opartych na serwerach, samodzielnie hostowany serwer plików na VPS z cPanel zapewnia wygodne scentralizowane archiwum zakładek z kontrolą dostępu
Często zadawane pytania
Czy eksportowanie zakładek Firefox eksportuje również hasła lub historię przeglądania?
Nie. Eksport HTML zawiera tylko zakładki — URL, tytuły, strukturę folderów i osadzone favikony. Hasła są przechowywane oddzielnie w key4.db i logins.json. Historia przeglądania znajduje się w places.sqlite, ale nie jest uwzględniona w eksporcie zakładek.
Czy mogę wyeksportować zakładki tylko z określonego folderu, a nie z całej biblioteki?
Natywny eksport przez GUI zawsze eksportuje wszystkie zakładki. Aby wyeksportować określony folder, kliknij prawym przyciskiem myszy folder w oknie Biblioteki — Firefox nie oferuje natywnie opcji eksportu dla poszczególnych folderów. Jako obejście użyj podejścia ze skryptem Python i filtruj według moz_bookmarks.parent, aby wskazać konkretny identyfikator folderu.
Dlaczego mój wyeksportowany plik HTML zakładek jest tak duży?
Firefox osadza favikony jako ciągi zakodowane w Base64 bezpośrednio w pliku HTML. Biblioteka z tysiącami zakładek z witryn bogatych w ikony może generować pliki o rozmiarze 20–100 MB. Aby zmniejszyć rozmiar pliku, otwórz plik HTML w edytorze tekstu i użyj wyrażenia regularnego, aby usunąć atrybuty ICON_URI i ICON przed importowaniem do innej przeglądarki.
Czy importowanie pliku HTML do Firefox spowoduje duplikaty?
Tak, jeśli importujesz do profilu Firefox, który już zawiera te zakładki. Firefox nie deduplikuje podczas importu. Użyj dedykowanego rozszerzenia przeglądarki do deduplikacji zakładek lub importuj do nowego profilu.
Czy bezpieczne jest przechowywanie wyeksportowanego pliku HTML zakładek na serwerze hostingu współdzielonego?
Sam plik zawiera tylko URL i tytuły — bez danych uwierzytelniających. Jednak jeśli Twoje zakładki zawierają URL do wewnętrznych paneli administracyjnych, prywatnych zasobów lub wrażliwych usług, traktuj plik jako poufny. Przechowuj go w katalogu chronionym hasłem lub zaszyfruj przed przesłaniem do dowolnego środowiska Hostingu Współdzielonego.
