This userstyle enhances privacy on WhatsApp Web by hiding certain elements, making them visible again when hovered over. Ideal for public or shared device use.
WhatsApp Web Privacy Mod by schipht
Mirrored from https://gist.githubusercontent.com/schipht/50c0db89a17d4f9351ffbb1ea790d955/raw/WWPM.user.css

Details
Authorschipht
LicenseMIT
Categoryweb.whatsapp.com
Created
Updated
Code size2.7 kB
Code checksum106cf5c8
Statistics
Learn how we calculate statistics in the FAQ.
Failed to fetch stats.
Description
Notes
π WhatsApp Web β Stay Private in Public
What it does:
- π Blurs the chat list (left sidebar).
- πΌοΈ Blurs images in messages.
- πΉ Blurs videos.
- ποΈ Blurs GIFs.
- π¬ Blurs stickers.
- π Blurs link preview images.
- π Blurs shared location.
- π€ Blurs images and videos in contact info.
- βοΈ Blurs phone numbers in contact info.
Hovering over any blurred content will reveal it.
Source code
/* ==UserStyle==
@name WhatsApp Web Privacy Mod
@namespace schipht
@version 1.2.3
@description Media Privacy Mode for WhatsApp Web Made with Userstyles CSS
@author schipht
@preprocessor stylus
@homepageURL https://github.com/schipht/WhatsApp-Web-Privacy-Mod
@supportURL https://github.com/schipht/WhatsApp-Web-Privacy-Mod/issues
@downloadURL https://gist.githubusercontent.com/schipht/50c0db89a17d4f9351ffbb1ea790d955/raw/WWPM.user.css
==/UserStyle== */
hideContent(applyOpacity) {
transition: .1s ease;
if (applyOpacity) {
filter: blur(12px) brightness(0) opacity(0.8);
}
&:hover {
filter: blur(0px) brightness(1) opacity(1);
}
}
@-moz-document domain("web.whatsapp.com") {
// margin fix
div[id="app"] > div > div[tabindex="-1"] {
width: 100% !important;
max-width: 100% !important;
height: 100% !important;
max-height: 100% !important;
position: absolute !important;
top: 0 !important;
left: 0 !important;
}
// Hide chat list
div[id*="pane-side"] [role*="listitem"] {
hideContent(0);filter: blur(12px);
}
// Hide images
img[src^="blob:"]:not([style*="display: none;"]):not([style*="display: block;"]):not([draggable="false"]),div[aria-label] [style*="background-image: url"]:not([data-lexical-text="true"]){
hideContent(1);
}
// Hide videos
div[style*="background-image: url"][style*="width: 100%"] {
hideContent(1);
}
// Hide gifs
div[style*="width: 330px"],[style*="height: 330px"] {
hideContent(1);
}
// Hide stickers
[class*='message-'] img[src^="blob:"]:not([class*="emoji"]):not([src*='/pp?']):not([style*="display: none;"]):not([style*="display: block;"])[draggable="false"],img[style*="display: none;"], img[style*="display: block;"],[class*='message-'] g[clip-path*="url"], canvas[class][style*="display: block;"] {
hideContent(1);pointer-events: all;display: block !important;
}
// Hide link preview media
img[src^="data:image/jpeg"] {
hideContent(1);
}
// Hide shared location
div:has(> div > div > span > img[src^="https://maps.googleapis.com"][style*="pointer-events: all"])
div:has(> div > div > span > img[src^="https://maps.googleapis.com"][style*="pointer-events: none"]) {
hideContent(1);
}
// Hide media in contact info
[aria-label=" Image"],
[aria-label=" Gif"],
[aria-label="replied Gif"],
[aria-label="replied Image"],
[aria-label=" Video"], {
hideContent(1);
}
// Hide number in contact info
.three > div:nth-of-type(5) [class *= 'selectable-text'] span {
hideContent(1);
}
}