In newer versions of Chrome, the passwords are stored using the encrypted password storage provided by the system, either Gnome Keyring or KWallet. We need to force Chrome to use a temporary profile folder with unencrypted password storage.
Step 1. Connect to your Google Account in Chrome Settings so that your passwords are synched with the Google cloud. Wait for a while until the data is synced, and then close all the Chrome windows.
Step 2. Start Chrome using one of the two command lines below.
google-chrome --user-data-dir=/tmp/chrome-tmp --password-store=basic
This will launch Chrome with a custom profile folder without affecting your current profile.
Step 3. Setup Google syncing for the new temporary profile and wait three or four minutes until everything is synced from the cloud. Then close Chrome.
Step 4. Open a terminal and change to the newly created Chrome profile
Step 5. Open the Login Data SQLite database using the sqlite3 command line utility and dump the logins table.
sqlite3 'Login Data'
Step 6. At the SQLite prompt, enter the commands below.
.mode csv # other options are `html', `tabs', etc. .headers on .separator "," .output chrome_passwords.csv select * from logins; .exit
Now you should have a file named chrome_passwords.csv containing all your Chrome passwords.