Password Generator

Generate random passwords in the browser with crypto.getRandomValues: length 8–128, toggles for uppercase, lowercase, digits, and symbols (!@#$%^&*), optional exclusion of ambiguous characters (0, O, I, l, 1), extra per-character exclusions, one-click regenerate, batch of five, copy, and a simple length/charset strength meter. Nothing is sent to a server.

passwordsecuritygenerator

Category: Data & Text Processing

Password

Strength

How passwords are generated

Each character is chosen uniformly from the active character pool using bytes from crypto.getRandomValues — the same browser API used for TLS-grade randomness. You pick length on a slider from 8 to 128, enable or disable uppercase, lowercase, digits, and a fixed set of symbols, optionally remove easily confused glyphs (0, O, I, l, and 1), and type any additional characters to strip from the pool. If every set is disabled or exclusions empty the pool, the tool warns you to re-enable at least one class.

Strength meter and batch mode

The strength label is a lightweight heuristic based on password length and how many character classes are enabled — it is not a dictionary or breach check. Use Generate for a new single password; Generate 5 passwords fills a list with independent samples so you can pick one or distribute them. Copy buttons grab the exact string for your password manager or site form.

Privacy

Generation and copying happen locally in your tab. Passwords are not transmitted to Dynamic Duniya servers. Still avoid generating secrets on untrusted shared computers and clear the batch list when finished.

Frequently Asked Questions

Is modulo bias a problem when mapping random bytes to the charset?

For typical charset sizes the bias from using byte % charsetLength is tiny. For extremely strict environments, use a dedicated tool that uses rejection sampling; this page targets everyday account passwords.

Does this check against leaked password lists?

No. It only measures length and enabled character classes. After choosing a password, let your password manager or the site’s Have I Been Pwned integration warn you about reuse or breaches.

Why did my pool become empty?

You excluded every character from every enabled set — for example turning off all classes, or typing every symbol into Also exclude. Re-enable sets or remove exclusions.

When does the password auto-refresh?

A new password is generated when the page loads and whenever length, charset toggles, or exclusion fields change, plus when you click Generate.

Is the Password Generator free?

Yes. No signup is required.

Tips

Quick guidance for using our tools safely and effectively.

Privacy

Files are processed on the server for conversion only and are not used for training or shared with third parties.

Best results

Use the formats suggested in each tool. Large media files may take longer — keep the tab open until processing finishes.

Need something else?

Browse related tools below or explore other categories from the main Dev Tools hub.

Related tools

More utilities in the same category.

CSV ↔ JSON Converter

New

Switch CSV → JSON or JSON → CSV. RFC 4180–style CSV parsing (quoted fields, doubled quotes), delimiter choice for import (comma, semicolon, tab, pipe), optional header row or col1… keys, pretty or minified JSON, stats after convert. JSON → CSV needs a non-empty array of objects; union of keys becomes columns; output CSV uses commas. Upload .csv/.json, load examples, copy, or download output.json / output.csv — all client-side.

csvjson+1

List Delimiter & Formatter

New

Paste a spreadsheet column or any list: explode on newlines, whitespace, commas, or semicolons; trim and filter empty cells; optionally dedupe. Join records with comma, semicolon, pipe, space, or newline; wrap each value in single or double quotes (escaped); optional per-record HTML/XML tags; optional groups of N with wrap tags; tidy mode strips newlines from the final string. Live preview, copy, select-all — all client-side.

delimitercomma+3

JSON ↔ YAML Converter

New

Convert JSON to YAML or YAML to JSON in the browser with js-yaml: JSON.parse + YAML dump (2-space indent, 120-char wrap) or yaml.load + pretty JSON (2-space indent). Debounced live conversion as you type, line numbers on both sides, Convert now, copy, and download output.yaml / output.json.

jsonyaml+1

JSON Visual Editor

New

Paste or upload JSON and edit it with an auto-generated form — add array items, update fields, download valid JSON. No coding required; runs entirely in your browser.

jsoneditor+5

XML ↔ JSON Converter

New

Convert XML to JSON or JSON to XML in the browser with fast-xml-parser: attributes map to configurable-prefixed keys (default @), trimmed text nodes, optional compact output, optional UTF-8 XML declaration on JSON→XML, and a root wrapper for bare arrays or scalars. Convert on demand, character/node estimate, copy, download output.json / output.xml.

xmljson+1

CSV to XML Converter

New

Paste or upload CSV up to 5 MB with auto or fixed delimiters (comma, semicolon, tab, pipe), optional header row and cell trim, then build XML with your root and row tag names, child elements or row attributes, XML declaration toggle, and 2- or 4-space indent. Preview with basic syntax coloring or raw textarea, DOMParser validity check, character and line counts, copy, and download as a basename-converted.xml file—all in the browser.

csvxml+4