Field | Value | Copy |
---|---|---|
{{ row.label }} |
{{ row.value }}{{ row.value }} |
|
Warnings |
|
|
Error | {{ single.error }} |
Type | Bits/Curve | SHA256 | Comment | Copy |
---|---|---|---|---|
{{ r.typeLabel }} | {{ r.bits }} {{ r.curve }} — | {{ r.sha256 }} | {{ r.comment || '' }} | |
No rows. |
SSH public keys are the public half of asymmetric credentials used by Secure Shell to prove identity. An SSH public key names its algorithm and carries key material that clients or servers present during authentication. Keys appear as one‑line OpenSSH entries or as fenced blocks defined by the SSH2 public key file format (RFC 4716), and many teams need to convert PEM to OpenSSH without guessing formats or losing comments.
You enter a public key in any supported layout and receive its algorithm, bit length or named elliptic curve, and two fingerprints for verification. The tool also returns three interchangeable encodings ready to reuse in different systems. Outputs align with common families: an OpenSSH line, an SSH2 public key block with an optional comment, and a PEM public key carrying a SubjectPublicKeyInfo structure.
For example, turning a team member’s OpenSSH line into a block helps upload it to systems that expect SSH2. Use the SHA‑256 fingerprint to confirm the key matches a record you already trust, not the text length or comment. Avoid pasting private keys anywhere, and verify the destination expects a public key before you share it.
Prefer modern algorithms where available, keep comments meaningful but non‑sensitive, and export a CSV or JSON snapshot when access lists change. If you process many keys, deduplicate by fingerprint so each key appears once in reviews and keep a copy with the audit ticket. When sharing SSH2 blocks, choose a wrap length that suits code review tools and avoids unnecessary diff noise.
Conversion and inspection operate on the canonical SSH wire format. The parser reads a length‑prefixed type name, then algorithm‑specific fields: exponent and modulus for RSA, a 32‑byte public key for Ed25519, or a named curve and uncompressed point for ECDSA. Attributes include type label, bit length or curve, and two fingerprints. Outputs are synthesized deterministically: an OpenSSH line, an SSH2 Public Key block with an optional Comment and configurable wrapping, and a PEM Public Key containing a SubjectPublicKeyInfo sequence with appropriate object identifiers. Batch mode processes multiple items and can collapse identical keys by SHA‑256.
Symbol | Meaning | Unit/Datatype | Source |
---|---|---|---|
type | Algorithm label (RSA, ECDSA, Ed25519) | string | Derived |
bits | Bit length for RSA or curve size for ECDSA | bits (integer) | Derived |
curve | Named elliptic curve (nistp256, nistp384, nistp521) | string | Derived |
sha256 | SHA‑256 fingerprint of SSH blob | Base64 (no padding) | Derived |
md5 | MD5 fingerprint of SSH blob | hex (lower‑case, colon‑separated) | Derived |
comment | Human note attached to outputs | string | Input or derived |
wrap | SSH2 block wrap width | characters (integer) | Input |
source | Original encoding family | string | Derived |
Field | Type | Min | Max | Step/Pattern | Error Text | Placeholder |
---|---|---|---|---|---|---|
SSH2 wrap column | number | 40 | 128 | step 1 | — | — |
OpenSSH line | text | — | — |
/^(ssh-rsa|ssh-ed25519|ecdsa-sha2-[a-z0-9-]+)\s+[A-Za-z0-9+/=]+(?:\s+.+)?$/
|
Unknown input format. Parse error. No key-like content detected. | e.g., ssh‑ed25519 AAAA… alice@laptop |
SSH2 Public Key | block | — | — | Headers “---- BEGIN SSH2 PUBLIC KEY ----” and “---- END SSH2 PUBLIC KEY ----” | Unknown input format. Parse error. | Optional Comment: "…" |
PEM Public Key | block | — | — | “-----BEGIN PUBLIC KEY-----” … “-----END PUBLIC KEY-----” | Unknown input format. Parse error. | — |
PKCS#1 RSA Public Key | block | — | — | “-----BEGIN RSA PUBLIC KEY-----” … “-----END RSA PUBLIC KEY-----” | Unknown input format. Parse error. | — |
Upload input | file | — | — | Accepts .pub, .pem, .txt; drag‑and‑drop also reads .der and .cer | — | — |
Input | Accepted Families | Output | Encoding/Precision | Rounding |
---|---|---|---|---|
Text or file | OpenSSH line; SSH2 Public Key block; PEM Public Key (SPKI); PKCS#1 RSA Public Key; DER/CER via drag‑drop | OpenSSH line; SSH2 block; PEM Public Key | Base64 for key payloads; SHA‑256 shown Base64 without padding; MD5 hex with colons | None; integers and bit lengths exact |
SSH2 wrapping | Applies to SSH2 output only | Line length configurable | Clamped to 40–128 characters; default 70 | N/A |
PEM wrapping | PEM Public Key output | Fixed line width | 64‑character lines with standard header and footer | N/A |
All parsing, conversion, and fingerprinting run in your browser. No requests are sent to a server. Clipboard and file downloads are initiated locally.
Decoding and encoding are linear in input size. Memory use is proportional to the key blob and encoded outputs. Processing is synchronous per item; batch mode iterates items sequentially and optionally deduplicates by SHA‑256.
For identical inputs, outputs and fingerprints are deterministic. Errors surface as concise messages for unknown formats or parse failures.
Input: an OpenSSH line with a comment.
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBEXAMPLEKEYMATERIAL alice@laptop
Key attributes: Type Ed25519; bits 256.
SHA256: WxyzBase64NoPad… MD5: aa:bb:cc:dd:ee:ff:00:11:22:33:44:55:66:77:88:99
Outputs: OpenSSH line, SSH2 Public Key block with Comment, and PEM Public Key.
SSH2 Public Key file format (RFC 4716); X.509 SubjectPublicKeyInfo structure and algorithm object identifiers for RSA, ECDSA, and Ed25519.
No data is transmitted or stored server‑side. Copy and download actions occur locally in your browser.
Follow these steps to inspect and convert a key.
Example: paste a PEM Public Key to obtain equivalent OpenSSH and SSH2 encodings plus fingerprints for audit notes.
No. Parsing and fingerprinting run entirely in your browser. Nothing is uploaded or retained beyond your session.
RSA, ECDSA with curves nistp256, nistp384, nistp521, and Ed25519. DSA is not supported.
Yes, by drag‑and‑drop. They are wrapped into a PEM Public Key before parsing. The file picker targets text formats.
It controls SSH2 block line length for readability. PEM output uses a fixed width independent of this setting.
SHA‑256 is computed over the SSH blob and shown in Base64 without padding. MD5 is hex with colons for legacy displays.
Yes. Processing is browser‑based. Once loaded, it works without connectivity.
Paste the PEM Public Key block. The equivalent OpenSSH line appears alongside SSH2 and PEM outputs for copying.
No. Private keys are rejected by design to protect sensitive material.
?batch=1
enables multi‑item parsing and optional de‑duplication.