Security Warning: High Security Risk
cssPicker - copy css from website
ID: laooinkgdapbcbjchpmihliljfnakkdh
Supported Languages
Extension Info & Metadata
Publisher Contextual Analysis
- Author
- csspicker.devView Profile
- Privacy
- Privacy Policy
- MX records exist
- Yes
- Domain exists
- Yes
- Is disposable
- No
- Is role-based
- No
- Mailbox exists
- Yes
- Website
- Visit
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!
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.
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.
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.
{ "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
Versions scanned
Showing 1 of 35 scanned versions with more than one unique finding. Counts are unique findings that include each version.
| Extension Version | Code Review Findings |
|---|---|
| 1.0.16 | 3 |
Files with findings
2 distinct paths — top paths by unique finding count:
- assets/index.ts.js2
- manifest.json1
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.
Gain full insight into all external connections.
Upgrade for full visibility.
Code Diff
Compare extension code between any two versions.
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.