Clean and export LinkedIn CSV data exports to Excel
Project description
LinkedIn Analyzer
Clean and analyze your LinkedIn data exports.
Web app or Python CLI. File contents stay local in the web app; optional diagnostics are opt-in.
What it does
LinkedIn's data exports are messy. This tool fixes that.
- Shares.csv has weird nested quote escaping
- Comments.csv has backslash-escaped quotes
- messages.csv has mixed participant/profile fields that need normalization
- Connections.csv often includes preamble rows and noisy identity fields
Upload your files, get clean Excel outputs. Plus analytics dashboards, relationship views from messages/connections, and rule-based insights.
Quick start
Web — Run the Vite dev server and open the local URL:
cp .env.example .env # optional; set VITE_SENTRY_DSN + VITE_APP_RELEASE for opt-in diagnostics
npm run dev
CLI — For automation:
pip install linkedin-analyzer
linkedin-analyzer shares
linkedin-analyzer comments
linkedin-analyzer messages
linkedin-analyzer connections
linkedin-analyzer all
Container — Run the published CLI image:
docker run --rm -v "$PWD/data:/app/data" ghcr.io/hermione-granger-1176/linkedin-analyzer:latest --version
Tech stack
Web app
Python CLI
Dev & CI
Features
| Feature | Detail |
|---|---|
| 100% client-side | File contents stay local in your browser |
| Light/dark theme | Hand-drawn sketch aesthetic |
| Guided tutorials | Per-page tutorials |
| Analytics | Timeline, topics, heatmap |
| Messages view | Top contacts, silent connections, fading chats |
| SPA routing | Hash routes with URL-synced filters |
| Excel export | Formatted .xlsx with proper columns |
| Connections | Network growth, top companies, top positions |
| Chart export | Download any chart as PNG |
| PWA-ready | Installable with auto-refreshing service worker caching |
| Session cleanup | Stale uploads and cached analytics cleared asynchronously |
| Social previews | Open Graph and Twitter Card meta tags |
| Type-safe CLI | Strict mypy, high test coverage (95% threshold) |
Documentation
See the docs/ folder for:
- Web App Guide
- Python CLI Reference
- Development Setup
- Project Structure
- Style Guide
- Operations and Deployment
Security reporting guidelines: SECURITY.md
License
Created by Aditya Kumar Darak
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file linkedin_analyzer-0.5.0.tar.gz.
File metadata
- Download URL: linkedin_analyzer-0.5.0.tar.gz
- Upload date:
- Size: 20.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0819895157d5ac9c12d6add5f44a59b8bdc7c5eeb5c60ac07c9aaa027fa8917
|
|
| MD5 |
da6782664371e9ed57e33b6407c7036e
|
|
| BLAKE2b-256 |
220f33b8c36bcd8e54efbcf0ce442b874bc3bd2b7af5dc86143589b48e0e8e75
|
Provenance
The following attestation bundles were made for linkedin_analyzer-0.5.0.tar.gz:
Publisher:
publish.yml on Hermione-Granger-1176/linkedin-analyzer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
linkedin_analyzer-0.5.0.tar.gz -
Subject digest:
e0819895157d5ac9c12d6add5f44a59b8bdc7c5eeb5c60ac07c9aaa027fa8917 - Sigstore transparency entry: 1065481623
- Sigstore integration time:
-
Permalink:
Hermione-Granger-1176/linkedin-analyzer@f7cf9d3c2eac95b16c80200b841e0057ff1bb353 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/Hermione-Granger-1176
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f7cf9d3c2eac95b16c80200b841e0057ff1bb353 -
Trigger Event:
release
-
Statement type:
File details
Details for the file linkedin_analyzer-0.5.0-py3-none-any.whl.
File metadata
- Download URL: linkedin_analyzer-0.5.0-py3-none-any.whl
- Upload date:
- Size: 19.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72b80f37d4aebb394a40c1d1bc4535c0408714658b2bf0550a32ba899ad68fdd
|
|
| MD5 |
6dccc3e5ed18eb46ff3e14bc31951e57
|
|
| BLAKE2b-256 |
c0e474ac329d3006cb6a6797f0295110c6e321bbb40787974c5e071c467ee095
|
Provenance
The following attestation bundles were made for linkedin_analyzer-0.5.0-py3-none-any.whl:
Publisher:
publish.yml on Hermione-Granger-1176/linkedin-analyzer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
linkedin_analyzer-0.5.0-py3-none-any.whl -
Subject digest:
72b80f37d4aebb394a40c1d1bc4535c0408714658b2bf0550a32ba899ad68fdd - Sigstore transparency entry: 1065481625
- Sigstore integration time:
-
Permalink:
Hermione-Granger-1176/linkedin-analyzer@f7cf9d3c2eac95b16c80200b841e0057ff1bb353 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/Hermione-Granger-1176
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f7cf9d3c2eac95b16c80200b841e0057ff1bb353 -
Trigger Event:
release
-
Statement type: