Thanks for coming to my Zoom meeting.

You can close this tab

| or |

make a Zoom Improved link


How to make an (unofficial) Zoom Improved link

1: The domain

This part is the starting part, just like for official zoom links it's

2: The path


This part is the number of your zoom meeting, just like for official zoom links it's j/12345678901


3: The addons

Let me explain these. They're complicated but powerful.

4: theme=

Set the theme to any CSS accepted value. You can set it to red, orange, #FF8844, rgba(256, 128, 64, 0.5), and more.


5: dark=1

Turn on "dark mode". This is auto-on if your system has dark mode on and I detect it with window.matchMedia("(prefers-color-scheme: dark)").matches automatically, but you can just put that in the URL manually to enable dark mode.


6: font=

Use any Google Font, or use the system default sans-serif or monospace. Put spaces as %20.


7: font-size=

Adjust the font size. Again, this is CSS, so you can use 5vmin, 5%, 5px, or large.


8+9: pwd= and zoompwd=

Add a password. The pwd will be displayed in plain text to the user (DO NOT TAKE SCREENSHOTS). The zoompwd will be added to the autojoin, so auto-launch will use the password. zoompwd is the part in the zoom link that looks weird.

10: Full example

Original link:

Original meeting ID: 123 4567 8901

Original password: abcdran

New link:

You're in!

11: Screenshots!

Plain join, no customizations:

Screenshot of Zoom Improved join page

Fully customized join:

Screenshot of customized Zoom Improved join page

Join dialog (chrome):

Screenshot of dialog asking to open Zoom in Chrome

12: Tampermonkey/Greasemonkey/Violentmonkey script

I whacked this script together to auto-change zoom links.

// ==UserScript== // @name Change Zoom links // @version 0.1 // @description Change all Zoom links to use links // @author Kendell R // @match *://*/* // @grant none // ==/UserScript== function changezoomlinks(j) { 'use strict'; var links = document.body.getElementsByTagName("a"); for (var i = 0; i < links.length; i++) { var link = links[i]; if (/^(?:https?:\/\/)?(?:(?:us[0-9]{2}|[a-z]{2,6})?\.?zoom\.us)\/j\/[0-9]{8,15}(?:\?pwd=[0-9A-Za-z]{10,60})?$/.test(link.href)) { console.log(link.href); links[i].href = link.href.replace(/(?:(?:us[0-9]{2}|[a-z]{2,6})?\.?zoom\.us)\/j\//, ""); links[i].href = link.href.replace(/\?pwd=/, "?zoompwd="); } } setTimeout(changezoomlinks, j * 2, j); } changezoomlinks(1000);