⚙️ Settings
WITH recent_orders AS (
SELECT
customer_id,
order_id,
order_date,
total_amount
FROM orders
WHERE order_date >= DATEADD(day, -30, GETDATE())
)
SELECT
customer_id,
COUNT(order_id) AS order_count,
SUM(total_amount) AS total_spent
FROM recent_orders
GROUP BY customer_id
ORDER BY total_spent DESC;
WITH RECURSIVE employee_hierarchy AS (
-- Anchor: top-level rows (no manager)
SELECT
employee_id,
manager_id,
employee_name,
1 AS level
FROM employees
WHERE manager_id IS NULL
UNION ALL
-- Recursive: join children to their parent's result
SELECT
e.employee_id,
e.manager_id,
e.employee_name,
eh.level + 1
FROM employees e
INNER JOIN employee_hierarchy eh
ON e.manager_id = eh.employee_id
)
SELECT *
FROM employee_hierarchy
ORDER BY level, employee_name;
-- Note: SQL Server / Oracle: drop the RECURSIVE keyword (just WITH employee_hierarchy AS (...))
SELECT
o.order_id,
c.customer_name,
o.order_date,
p.product_name,
oi.quantity
FROM orders o
INNER JOIN customers c
ON o.customer_id = c.customer_id
LEFT JOIN order_items oi
ON o.order_id = oi.order_id
LEFT JOIN products p
ON oi.product_id = p.product_id
WHERE o.order_date >= '2026-01-01'
ORDER BY o.order_date DESC;
SELECT
DATE_TRUNC('month', order_date) AS order_month, -- PostgreSQL
-- FORMAT(order_date, 'yyyy-MM') AS order_month, -- SQL Server
-- DATE_FORMAT(order_date, '%Y-%m') AS order_month, -- MySQL
COUNT(*) AS order_count,
SUM(total_amount) AS revenue
FROM orders
GROUP BY DATE_TRUNC('month', order_date)
ORDER BY order_month;
SELECT
customer_id,
order_id,
order_date,
total_amount,
ROW_NUMBER() OVER (
PARTITION BY customer_id
ORDER BY order_date DESC
) AS order_rank,
SUM(total_amount) OVER (
PARTITION BY customer_id
ORDER BY order_date
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
) AS running_total
FROM orders;
CREATE PROCEDURE GetCustomerOrders
@CustomerId INT,
@StartDate DATE = NULL,
@EndDate DATE = NULL
AS
BEGIN
SET NOCOUNT ON;
SELECT
order_id,
order_date,
total_amount
FROM orders
WHERE customer_id = @CustomerId
AND (@StartDate IS NULL OR order_date >= @StartDate)
AND (@EndDate IS NULL OR order_date <= @EndDate)
ORDER BY order_date DESC;
END;
-- Call it: EXEC GetCustomerOrders @CustomerId = 101, @StartDate = '2026-01-01';
MERGE INTO customers AS target
USING staging_customers AS source
ON target.customer_id = source.customer_id
WHEN MATCHED THEN
UPDATE SET
target.customer_name = source.customer_name,
target.email = source.email,
target.updated_at = GETDATE()
WHEN NOT MATCHED THEN
INSERT (customer_id, customer_name, email, created_at)
VALUES (source.customer_id, source.customer_name, source.email, GETDATE());
#FACC15
rgb(250, 204, 21)
rgb(98%, 80%, 8%)
hsl(46, 96%, 53%)
hsv(46, 92%, 98%)
cmyk(0%, 18%, 92%, 2%)
QR Code Generator — Create a Free QR Code Online
This QR Code Generator turns any URL or block of text into a scannable QR code, generated entirely in your browser — nothing is sent to a server. It's built for anyone who needs a free QR code generator for a business card, flyer, product label, or quick link-sharing, without signing up for an account or worrying about a third-party tracking service. Type your text or link, and download the result as a PNG.
⚡ Key Takeaways
- Generates a scannable QR code entirely in your browser — nothing sent to a server.
- Three error-correction levels trade off data capacity against damage resistance.
- Supports roughly 100 characters, depending on the error-correction level chosen.
- Always test-scan a code before finalizing print materials at their actual size.
What, Who, When & Why
| What it's for | Generates a scannable QR code from any URL or text, entirely in your browser. |
|---|---|
| Who it's for | Anyone creating print materials, product labels, or quick links that need to be scanned by a phone. |
| When to use it | When you need a scannable link for a business card, flyer, packaging, or event material. |
| Why it's needed | Third-party QR generators often track scans or require signup; a client-side generator produces the code with nothing sent to a server. |
| Best way to use it | Test-scan the generated code with your own phone at the intended print size before finalizing any physical materials. |
How to Use the QR Code Generator
- Type or paste a URL or block of text into the input field.
- Choose an error-correction level — Medium is a good default for most uses.
- The QR code appears and updates automatically as you type.
- Click Download PNG to save the QR code image to your device.
Understanding Error Correction Levels
QR codes include built-in error correction so they can still be scanned even if part of the code is damaged, dirty, or partially obscured (for example, by a logo placed in the center). This tool offers three levels:
| Level | Recovery capacity | Best for |
|---|---|---|
| Low | Lowest — but fits more data | Longer text/URLs where space is tight |
| Medium | Balanced | General-purpose use (recommended default) |
| Quartile | Higher recovery | Codes that may get scuffed, printed small, or partially covered |
Example
Typing https://dataflu.com generates a scannable QR code that, when scanned by any smartphone camera, opens that URL directly — no app required beyond the device's built-in camera on most modern phones. Switching the error-correction level from Medium to Quartile for the same URL produces a visually denser code that's more resistant to damage or partial obstruction, at the cost of slightly less room for longer text.
Key Features
- Generates QR codes entirely client-side — no data is sent to any server.
- Three selectable error-correction levels (Low, Medium, Quartile).
- Live preview that updates as you type.
- One-click PNG download at a sharp, print-ready resolution.
- Works with both URLs and plain text.
Practical Use Cases
- Business cards and flyers: generate a scannable link to a website or contact page for print materials.
- Product packaging: link to a manual, support page, or product listing.
- Quick link sharing: generate a QR code for a document or page link to share in a presentation or on a screen.
- Event materials: link attendees directly to a registration form, agenda, or feedback survey.
- Wi-Fi or contact sharing: encode plain text information for quick scanning, such as a short message or reference code.
Tips for Best Results
- Use a URL shortener for long links if you're running into the character limit, since shorter text allows for higher error correction.
- Choose Quartile error correction for anything that will be printed small or handled frequently, like a product label.
- Test-scan your generated code with your own phone before finalizing print materials, especially at the actual size it will be printed.
Related Terminology
A QR code (Quick Response code) is a two-dimensional barcode that encodes text or a URL in a grid of black and white squares, readable by smartphone cameras and dedicated scanners. Error correction is built into the QR code standard using Reed-Solomon coding, which allows the code to remain scannable even with some damage or obstruction.
Important Considerations
This tool supports text up to roughly 100 characters, depending on the error-correction level chosen — higher error correction leaves less room for data. If your text is too long, try shortening it or using a URL shortener first. Very small printed QR codes can be harder to scan reliably, so consider a higher error-correction level for small or low-quality print applications.
Related Tools
Need to share a color scheme alongside your QR code design? Check the Color Picker. Building marketing or planning materials? The Flow Planner can help sketch out a layout or workflow before finalizing your design.
Frequently Asked Questions
Is this QR code generator really free?
Yes, it's completely free with no account required, and it runs entirely in your browser so there's no usage limit tied to a server.
How long can the text or URL be?
The tool supports up to roughly 100 characters depending on the error-correction level selected — shorter text allows for higher error correction.
Which error-correction level should I choose?
Medium is a good default for most uses. Choose Quartile if the code will be printed small or might get scuffed or partially covered, and Low if you need to fit more text and don't need extra damage resistance.
Is my data sent to a server when I generate a QR code?
No — the QR code is generated entirely by JavaScript running in your browser, so the text or URL you enter is never transmitted anywhere.
Should I test-scan my QR code before printing it?
Yes, it's good practice to scan the generated code with your own phone at the intended print size before finalizing any physical materials.
Tools for analysts, developers & QA engineers
33 free, browser-based utilities — text and list tools, SQL helpers, converters, and small productivity apps. Everything runs locally; nothing you type or paste is ever uploaded.
For Analysts
Clean lists, build SQL fragments, and reshape data without opening a spreadsheet.
For Developers
Format SQL, convert data formats, and handle everyday text and encoding tasks.
For QA Engineers
Generate test data, compare text output, and sanitize queries before sharing them.