Title: WP_Theme_JSON::get_viewport_breakpoint_value_in_pixels
Published: August 20, 2026

---

# WP_Theme_JSON::get_viewport_breakpoint_value_in_pixels( mixed $value ): float|null

## In this article

 * [Description](https://developer.wordpress.org/reference/classes/wp_theme_json/get_viewport_breakpoint_value_in_pixels/?output_format=md#description)
 * [Parameters](https://developer.wordpress.org/reference/classes/wp_theme_json/get_viewport_breakpoint_value_in_pixels/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/classes/wp_theme_json/get_viewport_breakpoint_value_in_pixels/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/classes/wp_theme_json/get_viewport_breakpoint_value_in_pixels/?output_format=md#source)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_theme_json/get_viewport_breakpoint_value_in_pixels/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_theme_json/get_viewport_breakpoint_value_in_pixels/?output_format=md#wp--skip-link--target)

This function’s access is marked private. This means it is not intended for use 
by plugin or theme developers, only by core. It is listed here for completeness.

Converts a valid viewport breakpoint size to pixels for ordering checks.

## 󠀁[Description](https://developer.wordpress.org/reference/classes/wp_theme_json/get_viewport_breakpoint_value_in_pixels/?output_format=md#description)󠁿

Generated media queries keep the original units. This method only normalizes values
so `mobile` and `tablet` can be compared safely. `em` and `rem` lengths use a 16px
base for comparison.

## 󠀁[Parameters](https://developer.wordpress.org/reference/classes/wp_theme_json/get_viewport_breakpoint_value_in_pixels/?output_format=md#parameters)󠁿

 `$value`mixedrequired

Viewport breakpoint size.

## 󠀁[Return](https://developer.wordpress.org/reference/classes/wp_theme_json/get_viewport_breakpoint_value_in_pixels/?output_format=md#return)󠁿

 float|null Viewport breakpoint size in pixels, or null when invalid.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_theme_json/get_viewport_breakpoint_value_in_pixels/?output_format=md#source)󠁿

    ```php
    private static function get_viewport_breakpoint_value_in_pixels( $value ) {
    	if ( ! static::is_valid_viewport_breakpoint_size( $value ) ) {
    		return null;
    	}

    	$value = trim( $value );
    	$unit  = substr( $value, -3 );
    	if ( 'rem' === $unit ) {
    		$number = (float) substr( $value, 0, -3 );
    	} else {
    		$unit   = substr( $value, -2 );
    		$number = (float) substr( $value, 0, -2 );
    	}

    	/*
    	 * Use the most common browser default font size as the base for em/rem
    	 * media query conversions. This pixel value is only used to compare
    	 * breakpoint order; generated media queries keep the original units.
    	 */
    	return 'px' === $unit ? $number : $number * 16;
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/class-wp-theme-json.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.1/src/wp-includes/class-wp-theme-json.php#L790)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/class-wp-theme-json.php#L790-L810)

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_theme_json/get_viewport_breakpoint_value_in_pixels/?output_format=md#changelog)󠁿

| Version | Description | 
| [7.1.0](https://developer.wordpress.org/reference/since/7.1.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_theme_json%2Fget_viewport_breakpoint_value_in_pixels%2F)
before being able to contribute a note or feedback.