How to Find a Sample NEM12 File

Where to download a NEM12 example file or test dataset, and what to check it covers

Last Updated: 2026-08-05

Just here for an example NEM12 CSV file?

  • The file comes from a real site, with the NMI and the meter number anonymised.
  • The file contains mains import (register E1) and solar export (register B1).

Download VECFORMAT Sample NEM12 CSV
(As originally obtained from DNSP)

Download STRICT Sample NEM12 CSV
(More strictly complying with the NEM12 Specification)

Open the same data as a Google Sheet

Key Takeaways

  • AEMO publishes valid example files and deliberate-error files with the MDFF spec — the authoritative NEM12 test dataset for loader validation.
  • Open-source parser repositories on GitHub often ship a NEM12 example file, but availability and contents change over time.
  • A realistic NEM12 test file shows more than one register, quality flags, and many days of interval data.
  • Anonymise any sample NEM12 file that you share, because an NMI identifies a real premises.
  • Run an example NEM12 CSV download through a tool before you trust that tool with your own smart meter data.
  • CHEA hosts a ready-made anonymised sample (E1 + B1) that you can download now.

Where to Get a Sample NEM12 File

Four sources cover almost every need for a sample NEM12 file, from strict loader validation to a quick hands-on look.

SourceWhat you getAnonymised?Best for
AEMO example and error filesValid files and deliberately broken files, published with the MDFF specYes (test data)Validating a loader against the standard
Open-source parser repositories (GitHub)A small example file beside parser codeVaries — some carry a real NMISeeing a parser run end to end
CHEA anonymised sampleAbout 12 months of real Powercor data, with the NMI maskedYes (NMI 6200000000)Following a how-to, or a risk-free first file
Browser viewers with sample loadersA pre-loaded sample that you view but usually cannot downloadProcessed in your browserExploring structure without a download

AEMO Example and Error Files

AEMO publishes valid example files and deliberate-error files with the MDFF specification. MDFF is the Meter Data File Format specification that defines NEM12.

  • Valid files: well-formed NEM12 that you can parse straight away.
  • Error files: files that break a rule on purpose, so that you can confirm that your loader rejects bad input.
  • Coverage: AEMO aims this set at market participants, so it is large and heavy on edge cases.

Treat the AEMO set as your compliance yardstick rather than as a gentle first example (Source: AEMO).

Open-Source Parser Repositories

Several NEM12 parsers on GitHub ship a small example file. Availability and contents change, so check a repository before you rely on it.

  • nem-reader (Python): as of 2026, this project typically ships a small example interval file for one main import register.
  • Curated example collections: some repositories gather retailer and DNSP (Distribution Network Service Provider) export variants by state.
  • Parser test fixtures: example files inside a parser test suite. Register coverage and interval length vary between projects.

Some repository fixtures carry a real NMI instead of a masked one. A real NMI identifies a physical premises, so anonymise any file before you re-share it.

A Ready-Made Anonymised Sample

CHEA hosts an anonymised example NEM12 CSV download from a real Powercor VECFORMAT export. VECFORMAT is the CSV layout that the Powercor meter data portal produces.

  • Registers: E1 (mains import) plus B1 (solar export) — the common shape for a solar household.
  • Coverage: about twelve months of interval data, so daily and seasonal patterns stay visible.
  • Anonymisation: the file replaces the NMI with the masked value 6200000000.

Download the anonymised sample NEM12 CSV file, or open the same data as a Google Sheet and export it as CSV.

Browser Tools with Sample Loaders

Some browser-based viewers include a load-sample button. Your browser processes the file locally, so nothing goes to a server.

Try our NEM12 CSV Spreadsheet Converter Tool

What a Realistic NEM12 Test File Contains

Before you trust a sample, check that it resembles production data. A realistic NEM12 test file spans many days and carries more than one register.

Interval length sets how many readings each register holds per day, as the chart shows. NEM12 holds interval data. If you need accumulated readings instead, you need NEM13 — see how to choose NEM12 vs NEM13 meter data.

Registers You Should See

Australian smart meter data separates flows into registers. A file from a solar household typically shows at least two registers.

  • E1: mains-grid import. Where a meter has more than one E register, E1 is almost always the Main/General register.
  • B1: solar export. B1 is always solar export.
  • E2: a controlled load or dedicated circuit sits on a secondary import register such as E2, never on B1.

Solar generation on site can only supply loads on the Main/General register. Treat a file that puts a controlled load on B1 as suspect, and verify it before you rely on it.

Try our NEM12 Smart Meter Data Analyzer Tool

Structure and Quality Flags

A compliant NEM12 CSV carries a quality flag on every interval block. A good sample includes those flags across many days, so that patterns and gaps stay visible.

  • Actual: a genuine metered reading.
  • Estimated: a value inferred where the meter recorded no read.
  • Substituted: a value supplied in place of a missing or failed read.

For the record-by-record breakdown of the NEM12 CSV format, see our guide on how to understand the NEM12 CSV format.

How to Test a Tool with a Sample File Safely

A sample file exists so that you can test a tool before you feed it real customer data. Run the known file first, then switch to production data.

  1. Load a known-good sample, such as an AEMO example file or the CHEA anonymised file.
  2. Confirm that the tool parses the sample and reports the registers that the file contains.
  3. Load an AEMO error file, and confirm that the tool rejects or flags it.
  4. Load your own NEM12 CSV last, and compare the register totals against your expectation.

This staged approach catches format problems early. Our guide on how to avoid NEM12 CSV data gotchas applies the same discipline to your own files.

Anonymised Files and Real Files

An NMI identifies a physical premises, so the NMI in a sample matters as much as the readings.

  • Anonymised samples use a masked NMI. The CHEA sample uses 6200000000.
  • A real NMI in a downloaded fixture is not anonymised, so treat that file as confidential.
  • Mask the NMI in any file before you publish it or send it.

Interval values are less sensitive once you detach them from a real NMI. Even so, treat those values as private in a production tool. Our how-to guides and online tools cover the rest of the workflow.

Frequently Asked Questions

  • What is a sample NEM12 file? It is an anonymised or synthetic NEM12 CSV that you use to learn the format and test tools without real customer data.
  • Where can I download a NEM12 example file? AEMO publishes example files with the MDFF spec. Open-source parser repositories and the CHEA anonymised sample are further sources.
  • Does AEMO publish a NEM12 test dataset? Yes. AEMO publishes valid example files and deliberate-error files with the MDFF specification, for loader validation.
  • What is a NEM12 error file for? It breaks a format rule on purpose, so that you can confirm that your loader rejects invalid input.
  • What should a realistic NEM12 test file contain? More than one register, a quality flag on every interval block, and many days of interval data.
  • Which register holds solar export in a sample file? B1 is always solar export. E1 is almost always the main grid-import register.
  • Why must a sample NEM12 file be anonymised? An NMI identifies a physical premises. The CHEA sample replaces the NMI with the masked value 6200000000.
  • Do GitHub NEM12 example files change? Yes. Repository availability and contents vary over time, so check a repository before you rely on its example file.
  • How do I test a tool with a sample NEM12 file? Parse a known-good sample first, then an AEMO error file, and load your own data last.
  • Can I open a sample NEM12 file in a spreadsheet? Yes. Download the CSV, open the ready-made Google Sheet, or convert the file with our NEM12 CSV Spreadsheet Converter.
  • How many readings should one day of NEM12 data hold? One reading per interval for each register: 48 for 30-minute data, 96 for 15-minute data, and 288 for 5-minute data.
  • Is a NEM13 sample the same as a NEM12 sample? No. NEM13 carries accumulated readings instead of interval data, so the file shape differs.
  • Can I get a sample without a download? Some browser viewers load a built-in sample and process it in your browser, so nothing goes to a server.
  • Which DNSP produced the CHEA sample NEM12 file? Powercor produced it, in the VECFORMAT layout that the Powercor meter data portal exports.

Try our NEM12 Smart Meter Data Analyzer Tool

Glossary

AEMO
Australian Energy Market Operator — the body that administers the National Electricity Market and defines and maintains the NEM12 specification.
B1
In the NEM12 Format, the Meter Register code for Solar Export — electricity generated on site and fed back to the grid, typically measured in kWh.
Check Digit
The 11th digit of a full NMI — calculated from the first ten digits to detect transcription errors; some DNSP portals require it. Also called a 'Checksum'.
Controlled Load
A separately metered circuit controlled by a signal from the DNSP. These circuits typically contain a single specific appliance or type of appliance - eg. an Electric Hot Water Service (and historically Air-Conditioners or Electric Slab Heating). They are typically billed at a discounted rate and often run only during off-peak hours. They appear on a separate Meter Register on an Electricity Bill. See also: Dedicated Circuit.
CSV
Comma-Separated Values — a plain text file in which each row is a record and fields are separated by commas.
Dedicated Circuit
The physical wiring and breaker serving a Controlled Load device, isolated so the DNSP can independently control supply. See also: Controlled Load.
DNSP
Distribution Network Service Provider - the company that owns and operates the physical poles and wires of the local electricity network, and usually provides the smart meter data portal. Not the same as your Electricity Retailer. See also: Electricity Retailer.
E1
In the NEM12 Format, the Meter Register code (or NMI Suffix) for the sole/main/primary mains grid import channel — electricity drawn from the network. Where there is No (Solar) Generation on site, this is the Total Consumption. Typically measured in kWh.
E2
In the NEM12 Format, the Meter Register code (or NMI Suffix) for a secondary mains grid import channel — typically controlled-load or off-peak consumption such as dedicated hot water. Present only where that tariff exists.
Electricity Retailer
The company that sells electricity to the consumer, issues the bill, and manages the account. Not the same as your DNSP (Distribution Network Service Provider) which owns and operates the network. See also: DNSP.
Interval Data
Energy readings recorded at fixed time steps — typically every 30 minutes (but sometimes 5 or 15 minutes on newer meters) rather than as a single billing total. This allows charging different Tariffs at different times of day or days of the week. See also: Time-of-Use (TOU) Tariff.
kW
KiloWatt — the standard unit of (Electrical) Power: 1,000 Watts of Power used continuously for one hour is equivalent to 1000 Watt-Hours or 1 KiloWatt-Hour of Energy. Power is not an Amount of Energy but a Rate of Energy Transfer. See also: kWh.
kWh
KiloWatt-Hour — the standard unit of (Electrical) Energy: 1,000 Watts of Power used continuously for one hour is equivalent to 1000 Watt-Hours or 1 KiloWatt-Hour. NEM12 CSV records Electricity Use in kWh. See also: kW.
MDFF
Meter Data File Format — AEMO's file format specification for metering data, defining both the NEM12 interval structure and the NEM13 accumulation structure.
NEM
The Australian National Electricity Market — the interconnected electricity grid covering Queensland, New South Wales, Victoria, South Australia, Tasmania and the ACT. Western Australia and the Northern Territory operate separate grids.
NEM12
The AEMO file format (version 12) for exchanging Interval Data from Smart Meters across the Australian National Electricity Market (NEM). NEM12 Format records the Amount of Energy per Time Interval in kWh. And also other types of data, using specific types of labelled rows or records (100, 200, 300, 400, 900) to record different types of data. This makes it a 'Semi-Structured' 'Non-Tabular' Format. See also: AEMO, NEM, kWh, Semi-Structured, Non-Tabular.
NEM12 CSV
A NEM12 File stored as comma-separated values — the form most DNSP and retailer portals distribute. See also: NEM12, CSV.
NEM13
The AEMO Format for accumulation (non-interval) meter data — a total per read period rather than time-stamped intervals.
NMI
National Metering Identifier — the unique 10-digit identifier for an electricity connection point (11 with the Check Digit), permanent to the property. Note that the electricity connection point identified by the NMI, typically has multiple NMI Suffixes, and can have multiple Physical Meters. See also: Check Digit, NMI Suffix.
NMI Suffix
In the NEM12 Format, the short two-character code (E1, E2, E3, B1, B2, Q1, K1) identifying a specific Meter Register for recording electricity flows on the mains electricity connection identified by that NMI — also called the Meter Register or Register Code. See also: NMI, NEM12.
Non-Tabular
Data that does not fit a single consistent grid — in NEM12's case because of its semi-structure, hierarchy and mixed-record layout.
Powercor
One of the five DNSPs in Victoria Australia, covering western Victoria, and the operator of the MyEnergy portal shared with Citipower and United Energy. See also: DNSP.
Quality Flag
In the NEM12 Format, a single-letter code on each interval reading showing how the value was obtained — e.g. A (Actual), E (Estimated), S (Substituted), F (Final Substitute). See also: NEM12.
Semi-Structured
A data format that follows strict syntactic rules (e.g. comma separation, defined record codes) but does not enforce a consistent column schema across all rows. NEM12 is a Semi-Structured Format. See also: NEM12.
Smart Meter Data
Electricity import and export readings recorded by a digital interval meter at regular intervals. In Australia, typically supplied in NEM12 CSV Format with 30 Minute Intervals. See also: NEM12 CSV.
Time-of-Use (TOU) Tariff
A tariff with different prices at different times of day or days of the week (Peak, Shoulder, Off-Peak).

Try our NEM12 Smart Meter Data Analyzer Tool