Static vs dynamic QR codes, and when each makes sense
How static QR codes encode data directly, why dynamic codes use a redirect, and how to decide which one fits your project and budget.
What a static QR code actually stores
A static QR code holds your data inside the pattern itself. When a scanner reads the black and white modules, it reconstructs the exact string that was encoded, whether that is a URL, a WiFi login, or a vCard. Nothing on a server is consulted, which is why the codes this tool makes keep working forever and cost nothing to run. The trade-off is that the content is fixed at generation time, so a typo in a printed URL means reprinting the code.
How dynamic QR codes differ
A dynamic QR code does not store your real destination. Instead it encodes a short link to a redirect service, which then forwards the scanner to whatever target you have set. Because the redirect can be changed after printing, you can update the destination and record how many people scanned, when, and roughly where. That flexibility comes from a hosted service, so dynamic codes typically require an account and a subscription, and they stop working if that service shuts down.
Choosing the right one for your project
Reach for a static code when the content will not change and privacy or permanence matters, such as a WiFi password sign, a business card, or a product manual link you control. Choose a dynamic code when you need to fix mistakes later, run A/B campaigns, or measure scan analytics for marketing. A common middle path is to point a static code at a URL you own, like example.com/menu, and update the page behind that stable address rather than the code itself.
Printing tips that apply to both
Whatever type you use, the physical basics decide whether it scans. Keep a quiet zone of empty margin around the code equal to about four modules, maintain high contrast with dark modules on a light field, and size the code for its scanning distance, roughly one tenth of the distance as a rule of thumb. Test the printed result with more than one phone before you commit to a large run, since a code that scans on screen can fail on cheap paper.