P-256 is the short Weierstrass curve y² = x³ − 3x + b over the prime p = 2^256 − 2^224 + 2^192 + 2^96 − 1, whose special form allows fast reduction. Its group has prime order (cofactor 1) of about 2^256, giving roughly 128 bits of security. The same curve carries three names: P-256 (NIST, JOSE, COSE), secp256r1 (SEC 2, TLS) and prime256v1 (ANSI X9.62, OpenSSL).
A public key is a point: 65 bytes uncompressed (0x04 ‖ x ‖ y) or 33 bytes compressed. An ECDSA signature is 64 bytes as raw r ‖ s (JOSE, WebCrypto) and usually 70–72 bytes in DER (X.509, TLS, OpenSSL, WebAuthn assertions); mixing up the two encodings is one of the most common interoperability bugs, and the DER ⇄ raw converter translates between them.
Hardware support is broad: Apple's Secure Enclave creates only P-256 keys, and FIDO2 security keys and platform authenticators commonly create P-256 passkeys (COSE algorithm −7, ES256). As with the other NIST curves, b was derived from a SHA-1 seed whose origin is not documented, which is one reason some protocol designers prefer Curve25519; no weakness in P-256 has been found.