cssPicker - copy css from website

cssPicker - copy css from website

ID: laooinkgdapbcbjchpmihliljfnakkdh

Supported Languages

🇺🇸English

Extension Info & Metadata

Status
Active
Version
1.0.16
Size
0.91 MB
Rating
2.8/5
Reviews
12
Users
5,000
Type
Extension
Updated
May 26, 2025
Category
Developer tools
Price
Paid
Featured
No
Visibility
Listed
Mature
No
By Google
No
Trusted
Yes

Publisher Contextual Analysis

Trusted
Author
csspicker.devView Profile
MX records exist
Yes
Domain exists
Yes
Is disposable
No
Is role-based
No
Mailbox exists
Yes
Website
Visit
Total Extensions
1
Active
1
Obsolete
0
Listed
1
Unlisted
0
Total Users
5,000
Screenshot 2
Screenshot 3
Screenshot 4
Screenshot 5

copy html and css from any website

CSSPicker 🎨 - copy css from website & chat to code - Support Convert html to React or Tailwind CSS component. - Support Screenshot to code How to Use? 1.🌟 Click the extension icon. 2.🚀 click element and copy the HTML/JSX/Tailwind code. 3. click Screenshot to Code use AI generate code from element Recent Update - version 1.2.3: add ai chat and fix react + css code - version 1.2.3: Optimize the algorithm for obtaining css - version 1.2.2: adjust ui - version 1.2.1: add default option - version 1.2.0: AI powered Screenshot To Code - version 1.1.5: support remember user options - version 1.1.4: fix jsx converter, enable jsx converter for free. - version 1.1.3: add media query option. - version 1.1.2: copy css style, media query and pseudo class with all css option. - version 1.1.1: copy as tailwind with media query and pseudo class. - version 1.1.0: support media query and pseudo class with smartStyle option. Key Features: [*] support convert element imaget to code by AI [1] copy HTML elements with CSS styles from website, even inside iframe! [2] output the minimal amount of CSS code with media and pseudo class , exactly what you want! [3] copy element as Tailwind css component [4] copy element as React component [5] copy element css selector without open devtools [6] convert html to React Introduction: Effortlessly copy element with CSS styles on any webpage. Inspect and convert CSS codes without opening dev tools. Speed up web development and enhance efficiency. Problems Solved: This browser extension addresses the following issues: - Frontend developers seeking quick access to style codes. - Indie hackers looking to easily build pages from free templates. - Developers grappling with writing CSS codes. Who Should Use: Frontend developers. Indie hackers and entrepreneurs. Anyone working with CSS codes. FAQs: ❓ What does this extension do? It allows you to instantly copy HTML and CSS for any element on a webpage. ❓ Does it work on all sites? Yes, it works on any webpage built with any framework, such as React, Vue, WordPress, etc. Just click to copy! 🌐 ❓ Is cssPicker free? yes, we have free plan, which allows you to copy single element without children, this will cover basic usecase, if you want to copy element with children, try our paid plan!

Item
Type
Severity
Description
scripting
Permission
Critical
This permission allows injection and execution of JavaScript on any webpage. Rated Critical because it can modify page content, steal sensitive data, and inject malicious code into any site the extension has access to.
activeTab
Permission
Medium
This permission grants temporary access to the current tab. Rated Medium because it can access current page content when invoked, though limited to user-initiated actions.
storage
Permission
Medium
This permission allows storing data locally in the browser. Rated Medium because it can persist sensitive user data, track user activities over time, and potentially store malicious payloads.

The service worker injects `content_index.js` into every frame (`allFrames: true`) of the active tab whenever the extension icon is clicked. This file is confirmed to exist in the signed CRX package (`_metadata/verified_contents.json` contains its treehash) but was absent from the extracted analysis bundle, so its code could not be reviewed. Because this is the extension's primary content script — the file that actually runs on web pages — its exclusion from the analysis is a critical gap; any malicious logic (keylogging, DOM scraping, credential theft) would live here.

assets/index.ts.js (Line 38)
const a = "content_index.js",  c = e => chrome.scripting.executeScript({    target: {      tabId: e,      allFrames: !0    },    files: [a]  }),

On every browser start, the extension reads or generates a persistent random identifier (`bizId`) stored in local storage, then registers an uninstall URL that embeds this unique ID. When the user uninstalls the extension, Chrome silently performs a GET to `https://www.csspicker.dev/remove/<bizId>`, notifying the developer's server with a stable per-installation identifier. This constitutes covert tracking: the ID persists indefinitely across sessions and is transmitted to an external server without any disclosure or user consent.

assets/index.ts.js (Line 24)
function o(e = 10, r = "") {  const t = "abcdefhijkmnprstwxyz0123456789",    s = t.length;  let i = "";  for (let l = 0; l < e; l++) i += t.charAt(Math.floor(Math.random() * s));  return i}chrome.storage.local.get("bizId", e => {  let r = "";  e.bizId ? r = e.bizId : (r = o(), chrome.storage.local.set({    bizId: r,    isFirst: !0  })), chrome.runtime.setUninstallURL(`https://www.csspicker.dev/remove/${r}`)});

`pages/index.html` is declared as a web-accessible resource matching `<all_urls>` with `use_dynamic_url` set to `false`. A static (non-randomised) extension resource URL means any arbitrary website can probe `chrome-extension://<extensionId>/pages/index.html` to silently fingerprint whether this specific extension is installed, enabling cross-site tracking of users. The `<all_urls>` match scope is broader than necessary for a CSS picker and amplifies this exposure.

manifest.json (Line 22)
{  "web_accessible_resources": [    {      "matches": [        "<all_urls>"      ],      "resources": [        "img/logo-16.png",        "img/logo-34.png",        "img/logo-48.png",        "img/logo-128.png",        "pages/index.html"      ],      "use_dynamic_url": false    }  ]}

By severity

Critical0
High1
Medium1
Low1

Versions scanned

Showing 1 of 35 scanned versions with more than one unique finding. Counts are unique findings that include each version.

Extension VersionCode Review Findings
1.0.163

Files with findings

2 distinct paths — top paths by unique finding count:

  • assets/index.ts.js2
  • manifest.json1
S.No.
Category
Severity
File
Summary
Found in Version
1Unauthorized Data Collection
high
assets/index.ts.js (line 38)The service worker injects `content_index.js` into every frame (`allFrames: true`) of the active tab whenever the extension icon is clicked. This file is confirmed to exist in the signed CRX package (`_metadata/verifi…
2Tracking
medium
assets/index.ts.js (line 24)On every browser start, the extension reads or generates a persistent random identifier (`bizId`) stored in local storage, then registers an uninstall URL that embeds this unique ID. When the user uninstalls the exten…
3Tracking
low
manifest.json (line 22)`pages/index.html` is declared as a web-accessible resource matching `<all_urls>` with `use_dynamic_url` set to `false`. A static (non-randomised) extension resource URL means any arbitrary website can probe `chrome-e…
URLs
29
IPv4
1
IPv6
1

URLs

View the external URLs this extension communicates with to understand its network activity and data interactions.

Gain full insight into all external connections.

Upgrade for full visibility.

www.csspicker.dev/remove/$%7Br%7D%60https://www.csspicker.dev/remove/${r}`
www.csspicker.dev-https://www.csspicker.dev/
reactjs.org/docs/error-decoder.htmlhttps://reactjs.org/docs/error-decoder.html?invariant=
www.w3.org/1999/xlinkhttp://www.w3.org/1999/xlink
www.w3.org/XML/1998/namespacehttp://www.w3.org/XML/1998/namespace
www.w3.org/2000/svghttp://www.w3.org/2000/svg
www.w3.org/1998/Math/MathMLhttp://www.w3.org/1998/Math/MathML
www.w3.org/1999/xhtmlhttp://www.w3.org/1999/xhtml
www.npmjs.com/package/create-chrome-exthttps://www.npmjs.com/package/create-chrome-ext
facebook.github.io/react/docs/error-decoder.htmlhttp://facebook.github.io/react/docs/error-decoder.html?invariant=
Showing 1 to 10 of 30 rows
Rows per page:

Gain full insight into all external connections.

Upgrade for full visibility.

1.2.3.4
IPv4
-
1:2:3:4:5:6:7:8
IPv6
-
Showing 1 to 10 of 40 rows
Rows per page:

Code Diff

Compare extension code between any two versions.

0 changed files (scanned top 25 shared text files)

No comparable text files found between these versions.

Browse and explore files within this extension package

Gain full insight into all external connections.

Upgrade for full visibility.