Zoom meeting QR code generator
100% Private & Local — Your data never leaves your browser. These QR codes are permanent and will never expire.
Meeting link settings
Design
Add a centre logo
The image is read in this page and embedded in the code as a data: URL. It is not uploaded, and it stays inside the file you download.
More design options
The dark half of the code. Keep it well below the background in lightness.
Covers the quiet zone as well as the gaps between modules. A transparent background leaves it out of the file, so nothing is drawn with it.
Contrast 11.5:1 between the modules and the background.
PNG and WebP keep an alpha channel; the SVG simply omits the background rectangle. Whatever the code is placed on becomes the light half of the contrast.
A gradient fills the dark modules only. Its lighter end sets the contrast a scanner actually gets, so both ends have to stay dark.
The second colour, used only while a gradient is selected. It is measured for contrast alongside the first.
Degrees clockwise from a left-to-right sweep. A radial gradient spreads from the centre outwards, so the angle applies to a linear one only.
Rounded shapes cover less of each cell. The centre stays covered, which is where a decoder samples, but a small print of a dense code reads more reliably as squares.
The ring of the three finder patterns.
The eye inside each finder pattern.
The blank margin around the code, measured in modules. 4 is the specified minimum.
Higher recovery survives more damage and costs capacity, so the same content produces a denser symbol.
A logo sits at the centre and holds the level at H. Its width limit follows the symbol: 14% on the smallest code, 30% on a dense one.
Live preview & export
Paste the Zoom invite link, or enter the meeting ID. The link is the better input: it already carries a working passcode token.
Export
Raster, for screens
Complete the form to enable the downloads.
Export size and encoded text
- Payload
- Nothing encoded yet
- Symbol
- Not built yet
- Recovery
- M
Waiting for input
Encode a meeting link so people in the room can join without typing an ID. The link is used as you paste it, with no shortener and no redirect in between.
When someone scans it
The phone opens the meeting URL, which hands off to the Zoom, Teams or Meet app when it is installed and to the browser client when it is not.
Passcodes, and which platform puts one in the link
Zoom is the only one of the three that carries a passcode in the join URL, and it does not carry the passcode itself. The pwd parameter holds an encoded token that Zoom generates for that meeting; the six-digit number participants are told to type is a different thing. There is no published way to derive the token from the number, and Zoom's own support answer to the request is that it cannot be done. Putting the plain passcode in pwd produces a link that prompts anyway.
The practical consequence is simple. Copy the invite link from Zoom and paste it whole, because that link already contains a working pwd. Use the token field only if you are reconstructing a link and have the encoded value from an earlier copy of the same invite.
Microsoft Teams has no passcode parameter at all. Its meetup-join link is itself the credential — a long opaque string that authorises the join — and the separate meeting ID and passcode pair exists for people typing details into the join form by hand. Google Meet has no passcode concept; access is governed by the meeting's own admission rules and by who is signed in.
Building a link from a meeting ID
Leave the link field empty and a Zoom meeting ID becomes https://zoom.us/j/ followed by the digits, with spaces and dashes stripped. That link works, but it lands on the passcode prompt for any meeting that has one, so it suits recurring internal meetings whose participants know the number.
A Google Meet code becomes https://meet.google.com/ followed by the code, keeping the abc-defg-hij grouping — the dashes are part of the code, not decoration.
Microsoft Teams cannot be built this way, which is why the field disappears when you select it. A Teams meeting ID is looked up inside Teams against the tenant that owns the meeting; there is no URL shape that turns those twelve digits into a join link, and inventing one would produce a code that fails in the room. Paste the invite link instead.
- Zoom from an ID: https://zoom.us/j/85512345678
- Meet from a code: https://meet.google.com/abc-defg-hij
- Teams: invite link only
What a printed meeting code is good for
It suits a link that outlives the print run: a recurring standing meeting, a personal meeting room, a permanent Meet code on a room door, an office-hours link on a noticeboard. Anyone who can see the sign can join, so the meeting's own controls — waiting room, lobby, sign-in requirement — are what actually protect it.
It suits a one-off webinar much less well. Those links are dead the moment the meeting is deleted or the host account changes, and a code cannot be updated after printing. There is also a length effect: Teams links routinely run past three hundred characters, which forces a high symbol version with fine modules that needs a bigger print and a closer scan than a short Zoom link does.
Questions and answers
Can I put the six-digit Zoom passcode in the code so nobody has to type it?
No, and no generator can. Zoom's pwd parameter takes an encoded token it issues per meeting, not the number participants read out, and the encoding is deliberately not published so that a join link cannot be forged from a passcode. Paste the full invite link, which already contains the working token.
Why is my Teams code so much larger and denser than the Zoom one?
Length. A Teams meetup-join URL carries an encoded context object and often exceeds 300 characters, while a Zoom join link is closer to 40. More characters means a higher QR version, more modules and smaller modules at the same printed size. Print it larger, or raise the module size and accept a bigger sign.
Does the code expire when the meeting ends?
The code does not, but the link may. The pattern is permanent and will encode the same URL in ten years. Whether that URL still opens a meeting depends on the platform: personal meeting rooms and recurring links persist, while one-off meeting links stop working once the meeting is deleted or the host account is closed.
Can someone who scans this see who else is joining?
Not from the code. It contains a URL and nothing else — no participant list, no calendar entry and no identity. Everything after the browser opens the link is the platform's business, including whether the visitor must sign in, whether a lobby holds them and what they can see once admitted.
How a static QR code works
Every code on this site is static: the payload is written into the black and white modules themselves. Nothing is looked up when the code is read, no server of ours takes part, and no subscription holds the printed code up. The same property is the limit — once it is printed, what it contains cannot be changed.
Three things then decide whether a printed code reads: how many bytes the payload came to, which recovery level absorbs the damage, and how wide a single module ends up on paper. These guides work through each of them with the numbers.