Lenny Face Copy
ID
jgbanohkgcipimphbnjajofdmkedlbpdSearch 526 Lenny faces and kaomoji, then type them straight into any text box. Works offline, in 43 languages.
Extension information
Screenshots
Description
Search 526 Lenny faces and kaomoji, then type them straight into any text box. Works offline, in 43 languages.
LENNY FACE COPY 2.0 — A COMPLETE REWRITE
Lenny Face Copy is a kaomoji picker for Chrome. It puts 526 text faces —
( ͡° ͜ʖ ͡°), ¯\_(ツ)_/¯, (╯°□°)╯︵ ┻━┻, ʕ•ᴥ•ʔ — one click away, and types them
straight into whatever text box you are already using.
Version 2.0 rebuilds the extension from the ground up. Here is what changed.
WHAT WAS BROKEN, AND IS NOW FIXED
The extension no longer loaded at all. Chrome retired the old extension
platform, Manifest V2, which meant existing installations were switched off and
no update could be published. Version 2.0 is built on Manifest V3 and runs on
current Chrome.
Search did nothing. The box was hidden by a stray style rule, and the code
behind it was wired to page elements that did not exist, so it could never have
returned a result. Search now works, is focused the moment the picker opens, and
matches names and keywords. Type "shrug", "table flip", "heart" or "bear" and
you get what you expect. You can also paste a face in to learn its name.
What you copied did not always match what you saw. Two separate faults caused
this. A global styling rule displayed every letter inside a face in capitals
without changing the underlying text, so a face shown as ░LOVEYOU░ was copied as
░LoveYou░. Separately, the copy routine read the page's HTML rather than its
text, so any face containing a less-than sign, a greater-than sign or an
ampersand reached your clipboard mangled into an HTML entity. Both are fixed and
now covered by automated tests that fail the build if either returns.
Every category was on screen at once. All 25 panels were marked active
simultaneously, so the picker was one endless scroll and the tabs did nothing.
Categories now work, and the one you were last in is remembered.
"Frequently Used" was neither. It was an append-only queue that filled with
duplicates, and clicking an item inside it added that item again. Uses are now
counted properly, the list is de-duplicated, and the tab shows the faces you
actually reach for.
Smaller repairs, all of them real: all 24 category headings showed a blank
square, because the icon they asked for was missing from the bundled font. The
text-size preference was read from storage but connected to nothing, and the
settings page that would have changed it was disabled. The label naming a face
on hover never appeared, because of a typo. Seven faces were duplicated across
categories. Three tabs pointed at the same place and two carried the wrong
label. The interface font shipped in the download but was never loaded.
WHAT IS NEW
Type straight into the page. This was the biggest gap: previously you had to
copy a face, dismiss the popup, and paste it yourself. Now a click writes the
face directly into the field you were typing in. If no text field is focused, or
the page does not permit it, the face goes to your clipboard instead and the
extension tells you which happened. A click never silently does nothing.
Favourites. Right-click any face to pin it. They sync with your Chrome profile,
so they follow you between computers.
Your own faces. Build and save your own kaomoji on the settings page. They get
their own category, are searchable alongside everything else, and sync too.
Full keyboard control. Alt+L opens the picker from anywhere. Press / to jump to
search, arrow keys to move, Enter to insert, Shift+Enter to copy instead, F to
pin, Esc to close.
Address bar search. Type "lenny" followed by a space in Chrome's address bar and
search without opening anything.
Right-click menu. Right-click any text box on any page to reach your favourites
and most-used faces without opening the picker.
Side panel. Keep the picker open beside the page instead of closing after every
insertion.
Dark mode that follows your system, three display sizes, and a choice of what a
plain click should do: insert it, copy it, or add it to a strip so you can build
a longer string from several faces. Undo removes the last one you added.
142 more faces, including the well-known ones version 1 somehow never shipped:
the shrug, the table flip, the look of disapproval, deal with it, and the bears.
SAFER
Version 1 loaded jQuery and Bootstrap: 241 KB of libraries carrying three known
security vulnerabilities between them, used for exactly one thing. Both are
gone. The extension now contains no third-party code at all.
PRIVACY
Version 1 opened a tracked web page when you installed it, and registered a
second to open when you removed it, both on third-party domains. Neither
remains. Version 2.0 makes no network requests of any kind — no analytics, no
tracking, no remote configuration. Your favourites, your own faces and your
settings are stored by Chrome and never leave your browser. The extension
requests no access to the websites you visit.
NOW IN 43 LANGUAGES
The entire interface is translated into 43 languages, with full right-to-left
support for Arabic, Hebrew and Persian. Version 1 translated only its store
listing and left every button, label and message in English.