---
title: "Write EXIF and IPTC (Memory Friendly)"
canonical: https://www.graphicsmill.com/samples/Metadata/EXIFAndIPTC/WriteExifIptcMemoryFriendly_cs
product: "Graphics Mill"
source: "Metadata/EXIFAndIPTC/WriteExifIptcMemoryFriendly.cs"
---

# Write EXIF and IPTC (Memory Friendly)

Writes EXIF and IPTC metadata using memory-friendly Pipeline API.

## Instruction

Write custom EXIF and IPTC metadata to a JPEG image using memory-friendly pipeline processing.

## Usings

```csharp
using Aurigma.GraphicsMill.Codecs;
```

## Code Snippet

```csharp
using (var jpegReader = new JpegReader("Chicago.jpg"))
using (var jpegWriter = new JpegWriter("WriteExifIptcMemoryFriendly.jpg", 70))
{
    var exif = new ExifDictionary();
    exif[ExifDictionary.Software] = "Aurigma Graphics Mill";
    jpegWriter.Exif = exif;

    var iptc = new IptcDictionary();
    iptc[IptcDictionary.Keyword] = "mountain";
    iptc[IptcDictionary.City] = "Olympia";
    jpegWriter.Iptc = iptc;

    Pipeline.Run(jpegReader + jpegWriter);
}
```

## Explanation

The code:

- Creates a new `JpegReader` to read the input image.
- Sets custom EXIF metadata, including the "Software" tag with the value "Aurigma Graphics Mill".
- Sets custom IPTC metadata, including a keyword "mountain" and a city "Olympia".
- Uses the `Pipeline` to process the image and write the modified metadata to a new JPEG file with the specified quality.

## Tags

- [EXIF](<https://www.graphicsmill.com/samples/tags/exif_md>): Managing EXIF metadata
- [IPTC](<https://www.graphicsmill.com/samples/tags/iptc_md>): Managing IPTC metadata
- [Pipeline](<https://www.graphicsmill.com/samples/tags/pipeline_md>): Working with images via the Pipeline API
- [Write](<https://www.graphicsmill.com/samples/tags/write_md>): Writing images with codecs

## Input

- [Chicago.jpg](<https://www.graphicsmill.com/samples/Metadata/compiled/Debug/Chicago_jpg>) (preview)

## Output

- [WriteExifIptcMemoryFriendly.jpg](<https://www.graphicsmill.com/samples/Metadata/compiled/Debug/WriteExifIptcMemoryFriendly_jpg>) (preview)

## Used APIs

- [Aurigma.GraphicsMill.Codecs.ExifDictionary](<https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_ExifDictionary.htm.md>)
- [Aurigma.GraphicsMill.Codecs.IptcDictionary](<https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_IptcDictionary.htm.md>)
- [Aurigma.GraphicsMill.Codecs.JpegReader](<https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_JpegReader.htm.md>)
- [Aurigma.GraphicsMill.Codecs.JpegWriter](<https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_JpegWriter.htm.md>)
- [Aurigma.GraphicsMill.Codecs.JpegWriter.Exif](<https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_JpegWriter_Exif.htm.md>)
- [Aurigma.GraphicsMill.Codecs.JpegWriter.Iptc](<https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_JpegWriter_Iptc.htm.md>)
