Version: 2.0  

Last updated: 2026-09-28

## Overview

This specification document outlines the scope and specifications for
multi-function printers (MFP) and single-function printers (SFP) to be ChromeOS
compatible. The term "printer" in this document refers to either type of device.


### Minimum and Additional Requirements

This specification document is divided into two sections:

1. **Minimum** requirements describe the criteria for a peripheral category to be compatible.
2. **Additional** requirements describe the criteria for certification.

Use these navigation buttons to show only the minimum or both the minimum
and additional specification, respectively.
<button value="min">Minimum</button> <button value="add" default="">Minimum and Additional</button>

<br />

## Legend

| Product Verb | Development Action |
|---|---|
| "MUST" | Mandatory product requirement |
| "SHOULD" | Optional recommendation |
| "MAY" | Nice to have |

## MINIMUM REQUIREMENTS

### General Requirements

#### Connection Types

A printer device MUST support at least one of the following connection types:

- USB
- Ethernet
- WiFi

#### Initial Setup

##### Post-Setup Configuration and Maintenance

- Basic printing MUST work with the built-in app on the operating system after initial setup without further configuration.

#### Concurrent Access (for MFPs)

- The device MUST NOT lose user data or crash when the user attempts to access multiple functions concurrently.

### Print Requirements

**Note**: If the printer supports Mopria Print 2.3 or later, then all of the
minimum Print requirements defined in this spec will be met.

#### Standards

Devices MUST implement the following key standards:

- If the device supports printing, it MUST support IPP Everywhere or Mopria Print 2.3 or later.
- If the device supports USB connection type, it MUST support IPP-USB.
  - The operating system MUST be able to send IPP requests to `/ipp/print` and MUST be able to send `localhost` as the hostname.
- If the device supports connection over network, it SHOULD support TLS 1.2 or later.

## ADDITIONAL REQUIREMENTS

Along with the Minimum requirements, a peripheral MUST meet the following
mandatory requirements to achieve certification.

### Generic Requirements

#### Secure Connection

- **\[Mandatory\]** If the device supports connection over network, it MUST support TLS 1.2 or later.

### Print Requirements

#### Standards

Devices MUST implement the following key standards:

- If the device supports printing, it MUST support Mopria Print 2.3 or later.

### Initial Setup

- The user SHOULD be able to set up the device using a progressive web app (PWA) or Android app.
- If these are not available, initial device setup MAY require use of a mobile phone application.

Setup over specific connection types is described in the following sections.

#### USB

- USB SHOULD NOT require configuration.
- **\[Mandatory\]** When the device is plugged in, all features accessible over USB MUST be automatically enabled and detected.

#### Network

- (Preferred) The user performs initial network configuration by setting ethernet parameters or connecting to a WiFi network on the device front panel. Once the network is configured, printing SHOULD be enabled and discoverable on the network as described in the following sections.
- If the device does not have a front panel that is suitable for configuring the initial network connection, the user can set up the device with a PWA, Android app, or a separate mobile phone app.
  - **\[Mandatory\]** Basic printing and other relevant features MUST work after initial setup, without requiring ongoing use of the app.

#### Post-Setup Configuration and Maintenance

Some printers have additional features that may not be enabled by default or
need further configuration after installation. Many devices also have features
or utilities to perform required maintenance, such as checking supply levels,
re-ordering ink and paper, print head alignment, etc. If a device has any
features that fall into these categories, the user MUST be able to configure and
use them in one or more of the following ways:

- Device front panel. Since the user may initially configure their device for a connection through USB without setting up the network, it is recommended that at least the network connection be configurable through the device front panel.
- The administrator page of the built-in web server, as specified by the `adminurl` field of the device's DNS-SD records.
- A PWA, Android app, or separate mobile phone app.

#### Card Readers and USB Storage (for MFPs)

- The device MAY support storage expansion over card readers, USB storage, or other mechanisms to add storage directly to the device.
- **\[Mandatory\]** If the device supports storage expansion and makes that storage visible to a USB-connected computer, it MUST show up as a standard USB mass storage, MTP, or PTP volume.

#### App-controlled Features

- If the printer supports a companion app, the app SHOULD work on the device.

## Additional Resources

- [Mopria eSCL specification](https://mopria.org/mopria-escl-specification)
- IPP Everywhere 1.1
- IPP USB
- TLS 1.2
- TLS 1.3

<br />

## Revision history

| Date | Version | Notes |
|---|---|---|
| 2026-09-28 | 2.0 | Updated requirements per Revised Product Specs (Minimum \& Additional requirements). |
| 2024-02-02 | 1.0.1 | Formatting update (no change to contents) |
| 2024-02-01 | 1.0 | Initial Partner Site Publication |

<br />