ForHosting KIT · Data & Files

Format and normalize a MAC address to uppercase colon notation

Turn any common MAC address notation into one consistent form: a4b1.c122.3d4e becomes A4:B1:C1:22:3D:4E. Colons, hyphens, dots and spaces are all accepted, but exactly twelve hexadecimal digits must remain, or the address is refused. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Text
a4b1.c122.3d4e
You get
Mac address
A4:B1:C1:22:3D:4E

The MAC address formatter turns common hardware-address notation into one predictable representation. Paste an address written with colons, hyphens, dots, spaces, or no separators, and it returns six uppercase hexadecimal octets separated by colons. The formatter also validates the underlying value instead of merely changing punctuation: after recognized separators are removed, exactly twelve hexadecimal digits must remain.

Convert familiar MAC notations into one canonical value

MAC addresses appear in several visually different forms even when they identify the same interface. A workstation may display <code>a4-b1-c1-22-3d-4e</code>, a network appliance may show <code>a4b1.c122.3d4e</code>, and an inventory export may contain <code>A4:B1:C1:22:3D:4E</code>. Direct string comparison treats those values as different, which can create duplicate assets, missed lookups, or noisy reconciliation reports.

This formatter removes recognized separators, verifies the remaining hexadecimal sequence, converts every letter to uppercase, and groups the digits into six two-character octets. The output is always shaped like <code>A4:B1:C1:22:3D:4E</code>. Plain twelve-digit input and whitespace-separated octets are accepted as well.

The operation does not attempt to identify a manufacturer, contact a device, or determine whether an address is currently in use. It solves the narrower and more dependable problem of converting common textual representations into one stable value that other systems can store, compare, index, or display consistently.

Validate the address instead of only replacing punctuation

A formatting tool should not make malformed data look trustworthy. This capability first requires a non-empty text value, then permits only hexadecimal characters and the separators commonly found in MAC address notation: colons, hyphens, periods, and whitespace. It removes those separators and checks that exactly twelve hexadecimal digits remain.

Twelve digits represent six octets, with two digits per octet. Separator placement is intentionally flexible because copied data often mixes presentation styles, but the underlying hexadecimal length is not flexible. For example, Cisco-style groups can be normalized without asking the caller to pre-process them.

This approach is useful at ingestion boundaries: downstream code receives either a canonical address or a clear failure, never a shortened value padded with guesses and never an apparently polished string whose structure is still invalid.

Use canonical notation for reliable storage and comparison

Normalization is most valuable before a MAC address becomes a database key, a filter, or part of an automated comparison. Apply it when importing asset inventories, reading command output, processing support tickets, or accepting a hardware address through a form. The formatter is deterministic: the same valid input always produces the same output, and it uses no network service, random value, clock, device lookup, or vendor database.

It also does not claim that the address belongs to a real interface. A syntactically valid address can still be unused, locally administered, multicast, or otherwise unsuitable for a particular policy. Those checks belong in a separate validation rule.

Here the contract stays simple and auditable: recognized notation goes in, a six-octet uppercase colon representation comes out, and data that cannot resolve to twelve hexadecimal digits is rejected before it can spread through a workflow.

Clean an asset inventory

Normalize addresses from multiple vendors before deduplicating laptops, access points, printers, and other networked equipment.

Validate form and import data

Reject records that do not resolve to six octets while accepting the separator styles users and exported files commonly provide.

Which MAC address formats are accepted?

Colon-separated, hyphen-separated, dotted, whitespace-separated, and unseparated hexadecimal forms are accepted. Recognized separators may be mixed, but exactly twelve hexadecimal digits must remain.

What format does the result use?

The result uses six uppercase two-digit octets separated by colons, such as A4:B1:C1:22:3D:4E.

Does this check whether the device exists?

No. It validates and normalizes the textual structure only. It does not query a network, contact a device, or confirm assignment.

Does it identify the hardware vendor?

No. Manufacturer lookup is outside this formatter's scope, and no external vendor database is accessed.

How much does a request cost?

The deterministic formatter is also suitable for the generated browser execution path.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/data/mac-address-format

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/data/mac-address-format \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"a4-b1-c1-22-3d-4e"}'
{
  "text": "a4-b1-c1-22-3d-4e"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "data.mac_address_format",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_mb25
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

That makes the result suitable for configuration files, inventories, logs, API payloads, and comparisons where inconsistent notation would otherwise create avoidable mismatches.

Validate the address instead of only replacing punctuation

If the input contains a character outside that set, has a missing or extra digit, or consists only of punctuation, the request returns an invalid-input error rather than a partial result.

Use canonical notation for reliable storage and comparison

Store the returned <code>mac_address</code> value and compare canonical values rather than comparing whatever punctuation users supplied. This removes case and separator differences while preserving every hexadecimal digit.

Prepare configuration values

Convert copied device output into consistent uppercase colon notation before inserting it into a configuration file or API payload.

What happens when the input has the wrong length?

The request returns an invalid-input error when removing recognized separators does not leave exactly twelve hexadecimal digits, which represent six octets.

Read the full KIT documentation →