application/octet-stream

All MIME types
Application · Standards tree · RFC 2046.bin .dms .lrf .so

Media type / application

application/octet-stream

Arbitrary binary data — the registered fallback when nothing more specific is known, and the type that guarantees a download.

Served inline: Browsers have no renderer for this, so it downloads even without a Content-Disposition header. That makes it the quiet default for anything you do not want opened in place.

Browser behaviour

Downloads

Charset

no charset

Compression

Already compressed

Send it like this

Content-Type: application/octet-stream

A binary payload has no character encoding. A charset parameter here is meaningless and occasionally confuses strict parsers.

Handling verdict

InlineDownloads

Browsers have no renderer for this, so it downloads even without a Content-Disposition header. That makes it the quiet default for anything you do not want opened in place.

Charsetno charset

A binary payload has no character encoding. A charset parameter here is meaningless and occasionally confuses strict parsers.

CompressionAlready compressed

The format compresses internally. Another transport encoding costs CPU on both ends and typically changes the size by less than a percent — sometimes upward.

NameStandards tree

Registered with IANA through a public review process, so the name is stable and every implementation can rely on it meaning the same thing.

Anatomy of the name

RFC 6838

Top-level type

application

Application

Subtype

octet-stream

Registered in the standards tree.

Structured syntax

none

No suffix, so the payload format is defined entirely by the subtype itself.

Parameters

none

Beyond the charset rule above, this type defines no parameters of its own.

What trips people up

2 notes
  • This is the safe default for serving untrusted uploads: no browser renders it, so nothing in it can execute in your origin.
  • Seeing it on a resource you expected to render usually means the server has no mapping for that extension.

Response headers

Content-Type: application/octet-stream
X-Content-Type-Options: nosniff
Content-Disposition: attachment; filename="example.bin"

nosniff stops the browser second-guessing the type you declared, which is what makes the rest of this reliable. Content-Disposition: attachment names the saved file and removes any doubt about rendering.

Server configuration

extension mapping

nginx

types {
    application/octet-stream  bin dms lrf so;
}

Apache

AddType application/octet-stream .bin .dms .lrf .so

Caddy

@type path *.bin *.dms *.lrf *.so
header @type Content-Type "application/octet-stream"

Extensions and other spellings

declared

File extensions

File signature

No fixed signature — this format has no reliable magic number, so identify it by parsing rather than by the first few bytes.

Related media types

8
Familyapplication
Treestandards
Suffix
Inlinedownload