CSV Import & Export
Bulk import subnets and addresses from CSV files, or export your data for reporting and backup.
Exporting Data
IPCraft offers two separate exports: Export Subnets exports your network definitions (CIDRs, folders, VLANs, VRFs, locations, gateways, DNS settings), while Export Addresses exports the individual IP address assignments within those subnets (IPs, hostnames, MACs, statuses, owners). Think of subnets as the containers and addresses as the items inside them.
Export Subnets
In the sidebar under Data, click Export CSV and select Subnets. A CSV file will download containing all your subnets with human-readable names for folders, VLANs, VRFs, and locations (not UUIDs).
To export a single folder, call the export API with the folder_id query parameter.
Subnet export columns:
| Column | Description |
|---|---|
network | CIDR notation (e.g., 10.0.0.0/24) |
name | Subnet name |
description | Subnet description |
folder | Folder name |
vlan | VLAN number |
vrf | VRF name |
location | Location name |
gateway | Default gateway IP |
dns_primary | Primary DNS server |
dns_secondary | Secondary DNS server |
is_pool | Whether this is an IP pool |
scan_enabled | Whether scanning is enabled |
tracked | Whether IP usage is tracked (false = container subnet) |
custom_fields | Custom fields as a JSON object (blank when unset) |
Export Addresses
You can export addresses in two ways:
- Per-subnet: Click the Export button in the address list header when viewing a specific subnet
- All addresses: In the sidebar under Data, click Export CSV and select Addresses
Address export columns:
| Column | Description |
|---|---|
ip | IP address |
subnet | Parent subnet CIDR |
vrf | VRF name of the parent subnet (blank when the subnet has no VRF) |
hostname | Hostname or FQDN |
mac_address | MAC address |
description | Description |
status | Status (assigned, reserved, d-dhcp, m-dhcp, gateway) |
owner | Owner or team |
ptr_record | PTR (reverse DNS) record |
custom_fields | Custom fields as a JSON object |
scan_enabled and tracked) round-trips.Importing Subnets
Quick Start
- Click Import CSV in the sidebar under Data
- Select "Subnets" as the import type
- Upload your CSV file (or download a template first)
- Review the auto-detected column mapping and adjust if needed
- Preview the validated data and fix any errors
- Click Import to create the subnets
Required Columns
Only network is required. The network must be in CIDR notation (e.g., 10.0.0.0/24).
Alternatively, you can provide the network address in one column and the subnet mask or prefix length in a separate column. IPCraft will automatically combine them.
Supported CIDR Formats
10.0.0.0/24— standard CIDR notation (preferred)- Network column
10.0.0.0+ Netmask column255.255.255.0 - Network column
10.0.0.0+ Prefix Length column24
Optional Columns
| Column | Notes |
|---|---|
name | Subnet name/label |
description | Free-text description |
folder | Folder name — auto-created if it doesn't exist |
vlan | VLAN number (1-4094) — auto-created if it doesn't exist |
vrf | VRF name — auto-created if it doesn't exist |
location | Location name — auto-created if it doesn't exist |
gateway | Default gateway IP address |
dns_primary | Primary DNS server |
dns_secondary | Secondary DNS server |
is_pool | true/false, yes/no, 1/0 |
scan_enabled | true/false, yes/no, 1/0 |
tracked | true/false, yes/no, 1/0 — defaults to true when the column is absent or blank; false marks a container subnet |
Duplicate Handling
If a subnet with the same CIDR in the same VRF already exists, it will be skipped (not errored). This means you can safely re-import the same CSV without creating duplicates.
Importing Addresses
Required Columns
ip— the IP address to assignsubnet— the CIDR of the parent subnet (must already exist in IPCraft)
Subnets in VRFs
The same CIDR can exist in several VRFs, so an address row can name its parent subnet's VRF in an optional vrf column. The address export always writes it. VRF names match case-insensitively, and a VRF that doesn't contain the row's subnet is a row error (address imports never create VRFs).
When vrf is blank or the column is missing, as in files exported before it was added, the row goes to the subnet with that CIDR outside any VRF. If there is no such subnet and exactly one VRF has the CIDR, the row goes there. If several VRFs have it, the row is rejected until you fill in vrf.
Status Values
IPCraft accepts many common status synonyms and normalizes them automatically:
| Your CSV value | Maps to |
|---|---|
active, in use, used, static, assigned | assigned |
reserved | reserved |
dhcp, dynamic | d-dhcp |
manual dhcp | m-dhcp |
gateway, gw, router | gateway |
free, available, unused, unassigned, down, offline, deprecated | Row skipped (don't import empty addresses) |
Anything else that isn't recognized defaults to assigned.
MAC Address Formats
All common MAC address formats are accepted and automatically normalized:
00:11:22:33:44:55(colon-delimited)00-11-22-33-44-55(hyphen-delimited)0011.2233.4455(Cisco format)001122334455(no delimiters)
Column Name Flexibility
IPCraft automatically detects common column name variations. You don't need to rename your CSV headers to match exactly. For example, all of these will be recognized as the IP address column:
ip,IP Address,ipaddress,ip_addr,host_ip
If auto-detection gets it wrong, you can manually adjust the column mapping in step 2 of the import wizard.
Tips & Troubleshooting
File Requirements
- CSV, TSV, or TXT files up to 10MB
- First row must be column headers
- Maximum 1,000 rows per request, the same bulk limit as every bulk action. The import wizard sends larger files in batches of 1,000 automatically, and each batch is logged as its own activity entry listing every row it created
- Each batch also sends one
subnet.createdoraddress.createdwebhook event, not one per row:data.createdis the count,data.networksordata.ipslists every row it created, andresource_idis the batch’s ID
Plan Limits
Import operations respect your plan's resource limits. If importing would exceed your subnet, address, or folder limit, those rows will show an error. Successfully imported rows are not rolled back — you'll get a partial import with a clear summary of what succeeded and what didn't.
Round-Trip Export/Import
The export format is designed to be directly re-importable. You can export your data, edit it in Excel or Google Sheets, and re-import it. Existing items will be skipped as duplicates, and new items will be created.
Download Templates
Click the "Download template" link in the import dialog to get a ready-made CSV with the correct headers and example data for subnets or addresses.