Products
  • Wolfram|One

    The definitive Wolfram Language and notebook experience

  • Mathematica

    The original technical computing environment

  • Notebook Assistant + LLM Kit

    All-in-one AI assistance for your Wolfram experience

  • Compute Services
  • System Modeler
  • Finance Platform
  • Wolfram|Alpha Notebook Edition
  • Application Server
  • Enterprise Private Cloud
  • Wolfram Engine
  • Wolfram Player
  • Wolfram Cloud App
  • Wolfram Player App

More mobile apps

Core Technologies of Wolfram Products

  • Wolfram Language
  • Computable Data
  • Wolfram Notebooks
  • AI & Linguistic Understanding

Deployment Options

  • Wolfram Cloud
  • wolframscript
  • Wolfram Engine Community Edition
  • Wolfram LLM API
  • WSTPServer
  • Wolfram|Alpha APIs

From the Community

  • Function Repository
  • Community Paclet Repository
  • Example Repository
  • Neural Net Repository
  • Prompt Repository
  • Wolfram Demonstrations
  • Data Repository
  • Group & Organizational Licensing
  • All Products
Consulting & Solutions

We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

  • Data & Computational Intelligence
  • Model-Based Design
  • Algorithm Development
  • Wolfram|Alpha for Business
  • Blockchain Technology
  • Education Technology
  • Quantum Computation

Wolfram Consulting

Wolfram Solutions

  • Data Science
  • Artificial Intelligence
  • Biosciences
  • Healthcare Intelligence
  • Sustainable Energy
  • Control Systems
  • Enterprise Wolfram|Alpha
  • Blockchain Labs

More Wolfram Solutions

Wolfram Solutions For Education

  • Research Universities
  • Colleges & Teaching Universities
  • Junior & Community Colleges
  • High Schools
  • Educational Technology
  • Computer-Based Math

More Solutions for Education

  • Contact Us
Learning & Support

Get Started

  • Wolfram Language Introduction
  • Fast Intro for Programmers
  • Fast Intro for Math Students
  • Wolfram Language Documentation

More Learning

  • Highlighted Core Areas
  • Demonstrations
  • YouTube
  • Daily Study Groups
  • Wolfram Schools and Programs
  • Books

Grow Your Skills

  • Wolfram U

    Courses in computing, science, life and more

  • Community

    Learn, solve problems and share ideas.

  • Blog

    News, views and insights from Wolfram

  • Resources for

    Software Developers

Tech Support

  • Contact Us
  • Support FAQs
  • Support FAQs
  • Contact Us
Company
  • About Wolfram
  • Career Center
  • All Sites & Resources
  • Connect & Follow
  • Contact Us

Work with Us

  • Student Ambassador Initiative
  • Wolfram for Startups
  • Student Opportunities
  • Jobs Using Wolfram Language

Educational Programs for Adults

  • Summer School
  • Winter School

Educational Programs for Youth

  • Middle School Camp
  • High School Research Program
  • Computational Adventures

Read

  • Stephen Wolfram's Writings
  • Wolfram Blog
  • Wolfram Tech | Books
  • Wolfram Media
  • Complex Systems

Educational Resources

  • Wolfram MathWorld
  • Wolfram in STEM/STEAM
  • Wolfram Challenges
  • Wolfram Problem Generator

Wolfram Initiatives

  • Wolfram Science
  • Wolfram Foundation
  • History of Mathematics Project

Events

  • Stephen Wolfram Livestreams
  • Online & In-Person Events
  • Contact Us
  • Connect & Follow
Wolfram|Alpha
  • Your Account
  • User Portal
  • Wolfram Cloud
  • Products
    • Wolfram|One
    • Mathematica
    • Notebook Assistant + LLM Kit
    • Compute Services
    • System Modeler
    • Finance Platform
    • Wolfram|Alpha Notebook Edition
    • Application Server
    • Enterprise Private Cloud
    • Wolfram Engine
    • Wolfram Player
    • Wolfram Cloud App
    • Wolfram Player App

    More mobile apps

    • Core Technologies
      • Wolfram Language
      • Computable Data
      • Wolfram Notebooks
      • AI & Linguistic Understanding
    • Deployment Options
      • Wolfram Cloud
      • wolframscript
      • Wolfram Engine Community Edition
      • Wolfram LLM API
      • WSTPServer
      • Wolfram|Alpha APIs
    • From the Community
      • Function Repository
      • Community Paclet Repository
      • Example Repository
      • Neural Net Repository
      • Prompt Repository
      • Wolfram Demonstrations
      • Data Repository
    • Group & Organizational Licensing
    • All Products
  • Consulting & Solutions

    We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

    WolframConsulting.com

    Wolfram Solutions

    • Data Science
    • Artificial Intelligence
    • Biosciences
    • Healthcare Intelligence
    • Sustainable Energy
    • Control Systems
    • Enterprise Wolfram|Alpha
    • Blockchain Labs

    More Wolfram Solutions

    Wolfram Solutions For Education

    • Research Universities
    • Colleges & Teaching Universities
    • Junior & Community Colleges
    • High Schools
    • Educational Technology
    • Computer-Based Math

    More Solutions for Education

    • Contact Us
  • Learning & Support

    Get Started

    • Wolfram Language Introduction
    • Fast Intro for Programmers
    • Fast Intro for Math Students
    • Wolfram Language Documentation

    Grow Your Skills

    • Wolfram U

      Courses in computing, science, life and more

    • Community

      Learn, solve problems and share ideas.

    • Blog

      News, views and insights from Wolfram

    • Resources for

      Software Developers
    • Tech Support
      • Contact Us
      • Support FAQs
    • More Learning
      • Highlighted Core Areas
      • Demonstrations
      • YouTube
      • Daily Study Groups
      • Wolfram Schools and Programs
      • Books
    • Support FAQs
    • Contact Us
  • Company
    • About Wolfram
    • Career Center
    • All Sites & Resources
    • Connect & Follow
    • Contact Us

    Work with Us

    • Student Ambassador Initiative
    • Wolfram for Startups
    • Student Opportunities
    • Jobs Using Wolfram Language

    Educational Programs for Adults

    • Summer School
    • Winter School

    Educational Programs for Youth

    • Middle School Camp
    • High School Research Program
    • Computational Adventures

    Read

    • Stephen Wolfram's Writings
    • Wolfram Blog
    • Wolfram Tech | Books
    • Wolfram Media
    • Complex Systems
    • Educational Resources
      • Wolfram MathWorld
      • Wolfram in STEM/STEAM
      • Wolfram Challenges
      • Wolfram Problem Generator
    • Wolfram Initiatives
      • Wolfram Science
      • Wolfram Foundation
      • History of Mathematics Project
    • Events
      • Stephen Wolfram Livestreams
      • Online & In-Person Events
    • Contact Us
    • Connect & Follow
  • Wolfram|Alpha
  • Wolfram Cloud
  • Your Account
  • User Portal
Wolfram Language & System Documentation Center
PNG (.png)
  • See Also
    • Import
    • Export
    • CloudExport
    • CloudImport

    • Formats
    • GIF
    • WebP
    • HEIF
    • JPEG
    • PBM
    • PGM
    • PNM
    • PPM
    • PXR
    • SCT
    • TIFF
    • ICC
  • Related Guides
    • Graphics Importing & Exporting
    • Image Processing
    • Importing & Exporting
    • Listing of All Formats
    • Raster Image Formats
  • Tech Notes
    • Importing Graphics and Sounds
    • Exporting Graphics and Sounds
    • See Also
      • Import
      • Export
      • CloudExport
      • CloudImport

      • Formats
      • GIF
      • WebP
      • HEIF
      • JPEG
      • PBM
      • PGM
      • PNM
      • PPM
      • PXR
      • SCT
      • TIFF
      • ICC
    • Related Guides
      • Graphics Importing & Exporting
      • Image Processing
      • Importing & Exporting
      • Listing of All Formats
      • Raster Image Formats
    • Tech Notes
      • Importing Graphics and Sounds
      • Exporting Graphics and Sounds
IMPORT/EXPORT FORMAT
  • See Also
    • Import
    • Export
    • CloudExport
    • CloudImport

    • Formats
    • GIF
    • WebP
    • HEIF
    • JPEG
    • PBM
    • PGM
    • PNM
    • PPM
    • PXR
    • SCT
    • TIFF
    • ICC
  • Related Guides
    • Graphics Importing & Exporting
    • Image Processing
    • Importing & Exporting
    • Listing of All Formats
    • Raster Image Formats
  • Tech Notes
    • Importing Graphics and Sounds
    • Exporting Graphics and Sounds
    • See Also
      • Import
      • Export
      • CloudExport
      • CloudImport

      • Formats
      • GIF
      • WebP
      • HEIF
      • JPEG
      • PBM
      • PGM
      • PNM
      • PPM
      • PXR
      • SCT
      • TIFF
      • ICC
    • Related Guides
      • Graphics Importing & Exporting
      • Image Processing
      • Importing & Exporting
      • Listing of All Formats
      • Raster Image Formats
    • Tech Notes
      • Importing Graphics and Sounds
      • Exporting Graphics and Sounds

PNG (.png)

  • Import and Export fully support Version 1.2 of the PNG format.
  • Import and Export also support Version 1.0 of the APNG extension of the PNG format.
  • Import and Export support Exif 2.3, IPTC 4.2, and XMP metadata standards.

Background & Context

    • Registered MIME type: image/png
    • PNG raster image format.
    • Commonly used for graphics and photographic images on the web.
    • PNG is an acronym for Portable Network Graphics.
    • Binary format.
    • Stores both static and animated images.
    • Stores color bitmaps at a resolution of 8 or 16 bits per channel.
    • Grayscale images are represented at a depth of 1, 2, 4, 8, or 16 bits per pixel.
    • Supports alpha channels for 8-bit and 16-bit RGB and grayscale images.
    • Has support for color-reduction palettes using 2, 4, 16 or 256 8-bit RGB colors.
    • Developed in 1995 as an open and patent-free alternative to the GIF format.
    • Published as international standard ISO/IEC 15948:2003 and ISO/IEC 15948:2004.

Import & Export

  • Import["file.png"] imports a PNG file, returning a single Image object or a list of images.
  • Import["file.png",elem] imports the specified element from a PNG file.
  • The import format can be specified with Import["file","PNG"] or Import["file",{"PNG",elem,…}].
  • Export["file.png",expr] exports an image, graphics, or any other expression as an image to a PNG file.
  • Export["file.png",{expr1,expr2,…}] exports a list of graphics or images as an animation.
  • Export["file.png",Manipulate[…]] exports an animated demonstration of a Manipulate object.
  • When exporting Wolfram Language graphics or arbitrary expressions to PNG, the resulting image has the same raster size as its displayed form.
  • Image objects are by default exported at their raster size.
  • Because PNG is a raster image format, all fonts are rasterized on export.
  • See the following reference pages for full general information:
  • Import, Exportimport from or export to a file
    CloudImport, CloudExportimport from or export to a cloud object
    ImportString, ExportStringimport from or export to a string
    ImportByteArray, ExportByteArrayimport from or export to a byte array

Notebook Interface

  • In the notebook front end, Insert ▶ Picture and the Open menu allow the import of a PNG file into a cell.
  • Save Selection As exports the selected part of a notebook as a PNG file.

Import Elements

  • General Import elements:
  • "Elements" list of elements and options available in this file
    "Summary"summary of the file
    "Rules"list of rules for all available elements
  • Data representation elements:
  • "AnimatedImage"animated PNG represented as an AnimatedImage object
    "Animation"animated PNG represented as an animation object
    "Data"array of pixel values
    "Graphics"first frame of a PNG file, given as a Graphics object
    "GraphicsList"frames of an animated PNG as a list of Graphics objects
    "Image"first frame of a PNG file, given as an Image object
    "ImageList"frames of an animated PNG as a list of Image objects
    "RawData"array of color map indices
    Thumbnail"thumbnail a list of thumbnails (default frames=All)
  • Import by default uses the "Image" element for a static PNG and "ImageList" for an animated PNG.
  • Import of an animated PNG with element "Image" gives the first frame of the animation.
  • Export by default generates an animated PNG if the expression supplied is a list of images or a Manipulate, and a static PNG otherwise.
  • Advanced Import elements:
  • "AnimationRepetitions"how many times the animation is played before stopping
    "BitDepth"bits used to represent each color channel in the file
    "BlendOperation"whether to perform alpha blending to create the next frame
    "CameraTopOrientation"orientation of the camera when the picture was taken
    "Channels"the number of color channels used in the file
    "ColorMap"color reduction palette, given as a list of color values
    "ColorProfileData"embedded color profile, given as a ColorProfileData object
    "ColorSpace"color encoding used in the file
    "Comments"user comments stored in the file
    "DisplayDurations"display durations of animation frames, given in seconds
    "DisposalOperation"disposal operation before creating the next frame
    "FlashUsed"
  • whether the flash was fired
  • "GeoPosition"latitude and longitude represented as a GeoPosition object
    "GPSDateTime"
  • image creation date and time registered by GPS
  • "ImageCount"number of frames in an animated PNG
    "RasterSize"raster dimensions
    "RedEyeCorrection"whether a red-eye correction was performed
    "Summary"summary of the file
    "SummarySlideView"slide-view summary of all frames
  • PNG supports a color palette of at most 256 colors, always storing colors at a resolution of 8 bits per color channel.
  • "DisposalOperation" specifies how to dispose the current frame before creating the next frame. Possible values are:
  • "None"no disposal
    "Background"replace with a fully transparent black background
    "Previous"replace with the previous frame
  • "BlendOperation" specifies whether to alpha blend the next frame to the current frame, after disposal.
  • Metadata elements:
  • "Exif"formatted Exif (Exchange image file format)
    "IPTC"formatted IPTC (International Press Telecommunications Council)
    "XMP"formatted XMP (Extensible metadata platform)
    "MetaInformation"combination of all formatted metadata present in the file
  • Raw metadata, as stored in the file, can be imported using "RawExif", "RawXMP" and "RawIPTC" elements which are returned in an association.
  • All Exif and IPTC tags can be imported individually. Common tags include:
  • "ApertureValue"lens aperture
    "Artist"photographer or image creator
    "DateTime"image creation date and time
    "ExposureTime"exposure time, given in seconds
    "FlashInfo"
  • flash information: flash fired, red-eye correction, etc.
  • "FNumber"F number
    "FocalLength"actual focal length of the lens, given in millimeters
    "GPSAltitude"altitude of the GPS position
    "GPSLatitude"latitude of the GPS position
    "GPSLongitude"longitude of the GPS position
    "Make"manufacturer of the recording equipment
    "Model"model name or model number of the equipment
    "Software"name and version of the software or firmware of the camera or image input device used to generate the image

Options

  • Import and Export options:
  • IncludeMetaInformationAllmetadata types to import and export
    "ImageTopOrientation"Automaticorientation of the image as stored in the file
    RasterSizeAutomaticdimensions of the image
  • Import option:
  • "TakeRows"{1,-1}rows to import
  • Export options:
  • ColorSpaceAutomaticcolor encoding to be used in the file
    "ColorMapLength"Automaticnumber of colors to use for quantization
    "Comments"Nonetextual information
    CompressionLevelAutomaticcompression level, given as a number between 0 and 1
    Dithering"FloydSteinberg"dithering algorithm used for generating the color-reduction table
    "QuantizationMethod"Automaticquantization method used by ColorQuantize
  • Use DitheringNone to perform no dithering.
  • Supported ColorSpace settings are: "Grayscale" and "RGB". Using ColorSpace->Automatic, Export attempts to create a PNG file with the same color space.
  • Export options for animated PNGs:
  • AnimationRepetitionsInfinityhow many times the animation plays before stopping
    "ControlAppearance"Automatichow Manipulate control elements are rendered in the exported file
    "DisplayDurations"Automaticdisplay duration for each frame in seconds
    "Interlaced"Falsewhether to store graphics in interlaced form to allow progressive rendering
    "RemoveDuplicatedFrames"Falsewhether to remove duplicated frames
  • The following settings can be given for "ControlAppearance":
  • Automaticcaptures user controls exactly as seen in the notebook interface, using the style elements of the local computer system
    "Generic"renders graphical controls in a generic style
    Noneexcludes control elements when exporting an animation
  • "DisplayDurations"->{d1,d2,…} specifies the display durations for each frame in an animated PNG.

Examples

open all close all

Basic Examples  (4)

Import a PNG file as an image:

Summary of an image:

Import an animated PNG as an animation:

Export an RGB image to PNG:

Scope  (3)

Export a Wolfram Language expression to PNG:

Export a list of expressions to an animated PNG:

Import as an animation:

Export a Manipulate as an animated PNG:

Use Rasterize to export a screenshot of the Manipulate into a PNG file:

Import Elements  (40)

Available Elements  (4)

List of available elements:

List of available Exif elements:

List of available IPTC elements:

Get image-related information as a list of rules:

Data Representation  (11)

"AnimatedImage"  (1)

Import a multiframe PNG file as an AnimatedImage:

"Animation"  (1)

"ColorMap"  (1)

Generate a PNG image with a color-reduction palette:

Get the color-reduction palette from a generated image:

Visualize the color-reduction palette:

Apply the color map to the raw data to create the stored image:

"Data"  (1)

Get the image data:

Use the image data to create the image:

"Graphics"  (1)

Import as a Graphics object:

"GraphicsList"  (1)

Get the list of graphics objects:

"Image"  (1)

Import as an Image object:

The default element is also "Image":

"ImageList"  (1)

Get the data as a list of Image objects:

"RawData"  (1)

Get the raw data from the first frame of the animated PNG:

Plot the array of raw data:

Use the color map to create the stored image:

"Thumbnail"  (1)

Import a thumbnail of the image:

ThumbnailList"  (1)

Import a list of thumbnails from an animated PNG file:

Metadata  (25)

"BitDepth"  (1)

Get the bit count for the representation of each color channel:

"BlendOperation"  (1)

Get the blend operation:

"CameraTopOrientation"  (1)

Get the camera orientation at the capture time:

"Channels"  (1)

Get the number of image channels used:

"ColorProfileData"  (1)

Get the embedded color profile, given as a ColorProfileData object:

The color profile is stored in the ColorSpace option of the imported image:

"ColorSpace"  (1)

Get the color encoding used on export:

Use ImageColorSpace to get the color space of an imported image:

"DateTime"  (1)

Get the date and time that the image was captured:

"DisposalOperation"  (1)

Get the disposal operation:

"Exif"  (3)

Import Exif metadata:

Extract an individual tag from the association:

Individual Exif tags can also be imported directly:

Some Exif tags are processed to give more detailed information:

Compare with the raw "FlashInfo" tag:

"FlashUsed"  (1)

Import a tag that shows whether the flash fired:

"FlashUsed" is a subelement of the "FlashInfo" element:

Extract "FlashUsed" from the full "Exif":

"GeoPosition"  (2)

Get the image geo position:

The image geo position may be unavailable:

"GPSDateTime"  (1)

Get the image creation date and time registered by GPS:

"ImageCount"  (1)

Get the number of frames stored in an animated PNG file:

"IPTC"  (1)

Get IPTC metadata:

Get the Application2 schema of the IPTC metadata:

"MetaInformation"  (1)

Get all the metadata:

"RasterSize"  (1)

Get the dimensions of the image stored in the file:

Using ImageDimensions on an imported image gives the same result:

"RawExif"  (1)

Import unprocessed Exif metadata using the "RawExif" element:

"RawExif" returns the raw values stored in the file:

Compare with the interpreted focal length:

"RawIPTC"  (1)

Import unprocessed IPTC metadata:

"RawXMP"  (1)

Import unprocessed XMP metadata:

"Summary"  (1)

Get the image summary:

"SummarySlideView"  (1)

Get the image frames' summary:

"XMP"  (1)

Get XMP metadata:

Import Options  (6)

ImageResolution  (1)

By default, the image resolution is extracted from the file:

Specify the resolution of the imported image:

Specify different resolutions in the and directions:

IncludeMetaInformation  (3)

Import the image with no metadata:

Import the image with "XMP" metadata only:

RasterSize  (1)

By default, images are imported in their full resolution:

Specify the raster size of the imported PNG image:

"TakeRows"  (1)

By default, all rows are imported:

Import only the specified rows:

Export Options  (11)

AnimationRepetitions  (1)

Specify how many times the animation plays before stopping:

"ColorMapLength"  (1)

Decrease the file size by specifying a smaller length of a color map:

"ControlAppearance"  (1)

Specify whether the control menus in Manipulate should be exported as well:

Export no controls:

Export with graphical controls:

CompressionLevel  (1)

Use higher compression levels to decrease a file size:

Higher compression levels require more time to generate a PNG file:

"DisplayDurations"  (1)

Specify display duration (in seconds) for each frame of animation:

Dithering  (1)

Show the effect of dithering:

Show the areas with significant difference:

"ImageTopOrientation"  (1)

By default, the upright image is exported using "ImageTopOrientation"->Top:

Specify the orientation:

Import using the original orientation:

IncludeMetaInformation  (1)

By default, all existing meta-information is exported:

Specify classes of metadata to export:

"QuantizationMethod"  (1)

Show the effects of various quantization methods:

Show the areas with significant difference:

RasterSize  (1)

By default, the image is exported in the full resolution:

Specify the raster size of the exported image:

"RemoveDuplicatedFrames"  (1)

Create a video with duplicated frames:

Extract all frames:

Export all duplicated frames to an animated PNG:

Export while removing duplicated frames and notice the file size reduction:

See Also

Import  Export  CloudExport  CloudImport

Formats: GIF  WebP  HEIF  JPEG  PBM  PGM  PNM  PPM  PXR  SCT  TIFF  ICC

Tech Notes

    ▪
  • Importing Graphics and Sounds
  • ▪
  • Exporting Graphics and Sounds

Related Guides

    ▪
  • Graphics Importing & Exporting
  • ▪
  • Image Processing
  • ▪
  • Importing & Exporting
  • ▪
  • Listing of All Formats
  • ▪
  • Raster Image Formats

History

Introduced in 2003 (5.0) | Updated in 2018 (11.3) ▪ 2020 (12.2) ▪ 2021 (12.3) ▪ 2022 (13.1) ▪ 2022 (13.2) ▪ 2024 (14.1)

Top
Introduction for Programmers
Introductory Book
Wolfram Function Repository | Wolfram Data Repository | Wolfram Data Drop | Wolfram Language Products
Top
  • Products
  • Wolfram|One
  • Mathematica
  • Notebook Assistant + LLM Kit
  • Compute Services
  • System Modeler

  • Wolfram|Alpha Notebook Edition
  • Wolfram|Alpha Pro
  • Mobile Apps

  • Wolfram Engine
  • Wolfram Player

  • Volume & Site Licensing
  • Server Deployment Options
  • Consulting
  • Wolfram Consulting
  • Repositories
  • Data Repository
  • Function Repository
  • Community Paclet Repository
  • Neural Net Repository
  • Prompt Repository

  • Wolfram Language Example Repository
  • Notebook Archive
  • Wolfram GitHub
  • Learning
  • Wolfram U
  • Wolfram Language Documentation
  • Webinars & Training
  • Educational Programs

  • Wolfram Language Introduction
  • Fast Introduction for Programmers
  • Fast Introduction for Math Students
  • Books

  • Wolfram Community
  • Wolfram Blog
  • Public Resources
  • Wolfram|Alpha
  • Wolfram Problem Generator
  • Wolfram Challenges

  • Computer-Based Math
  • Computational Thinking
  • Computational Adventures

  • Demonstrations Project
  • Wolfram Data Drop
  • MathWorld
  • Wolfram Science
  • Wolfram Media Publishing
  • Customer Resources
  • Store
  • Product Downloads
  • User Portal
  • Your Account
  • Organization Access

  • Support FAQ
  • Contact Support
  • Company
  • About Wolfram
  • Careers
  • Contact
  • Events
Wolfram Community Wolfram Blog
Legal & Privacy Policy
WolframAlpha.com | WolframCloud.com
© 2026 Wolfram
© 2026 Wolfram | Legal & Privacy Policy |
English