Skip to content

hkclark/Pocket2Linkding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Pocket2Linkding

Simple tool to migrate from Mozilla Pocket to linkding.

Purpose

Like many others, I needed to find a new home for my bookmarks when Mozilla announced on May 22, 2025 that they are shutting down Pocket as of July 8, 2025. I wanted something self-hosted. After looking at many different options (see awesome-selfhosted), I decided to switch to linkding (GitHub). I put together a quick Python-based migration tool to convert from the Pocket export format to linkding's import format while preserving the original time the link was added to Pocket and any tags that you have set.

Note that while Pocket is shutting down on July 8, 2025, Mozilla will keep the export service up until October 8, 2025.

Usage

While there are many ways to run Python scripts, this should be enough to get you going:

Create, Download, and Unzip the Mozilla Pocket Export

  • Use the Pocket export to initiate an export.
  • Mozilla will send you a link to download the CSV export once it's ready. Download the pocket.zip file and unzip it on your local system.: unzip pocket.zip
    • The pocket.zip file contains one or more files with names like part_000000.csv.
    • If you have more than 10,000 bookmmarks, there will be multiple files with 10K bookmarks in each (e.g., part_000000.csv, part_000001.csv, etc.)

Run the Migration Tool

Use the migration tool to convert each part_######.csv file into a part_######.html bookmark file that can be imported into linkding.

Using Python uv

  • Install uv if you don't have it already
    • See Installing uv for details, but they recommend curl -LsSf https://astral.sh/uv/install.sh | sh.
    • Note that many people have legitimate security concerns about using curl to pipe commands into the shell in this manner. See the "Installing uv" link above for alternatives.
  • View the help info: uv run Pocket2Linkding.py -h
  • Run the migration: uv run Pocket2Linkding -d .

Using a Python Virtual Environment

I'm skipping the normal virtual environment activation step here, but feel free to include that if you want.

  • Create a Python Virtual Environment: python3 -m venv venv
  • Install dependencies: ./venv/bin/pip3 install attrs unidecode
  • View the help info: ./venv/bin/python Pocket2Linkding.py -h
  • Run the migration: ./venv/bin/python Pocket2Linkding.py -d .

Or, for Windows:

  • Create a Python Virtual Environment: py -3 -m venv venv
  • Install dependencies: .\venv\Scripts\pip.exe install attrs unidecode
  • View the help info: .\venv\Scripts\python.exe .\Pocket2Linkding.py -h
  • Run the migration: .\venv\Scripts\python.exe .\Pocket2Linkding.py -d .

Import Into linkding

  • Install linkding if you haven't already. I recommend using Docker and using the latest-plus image to get the built-in ability to archive pages using SingleFile.
  • Open your instance of linkding.
  • Go to Settings -> General.
  • Near the bottom of the page you will see an "Import" section.
  • Click the "Browse" button and select a .html file.
  • Click "Upload".
  • Repeat for each file if you have more than 10K bookmarks saved in Pocket.

About

Simple tool to migrate from Mozilla Pocket to Linkding

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages