diff --git a/VERSION b/VERSION
index b6bb93f..f0bb29e 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.3.0-dev
+1.3.0
diff --git a/internal/pkg/commands/command.go b/internal/pkg/commands/command.go
index d5a2785..d2951a3 100644
--- a/internal/pkg/commands/command.go
+++ b/internal/pkg/commands/command.go
@@ -157,6 +157,10 @@
 	NameLimit int    `short:"l" long:"namelimit" default:"-1" value-name:"LIMIT" description:"Limit the depth (length) in the table column name"`
 }
 
+type FlowIdOptions struct {
+	HexId bool `short:"x" long:"hex-id" description:"Output Ids in hex format"`
+}
+
 type ListOutputOptions struct {
 	OutputOptions
 	Filter  string `short:"f" long:"filter" default:"" value-name:"FILTER" description:"Only display results that match filter"`
diff --git a/internal/pkg/commands/devices.go b/internal/pkg/commands/devices.go
index dd0bfc8..2f0d8a8 100644
--- a/internal/pkg/commands/devices.go
+++ b/internal/pkg/commands/devices.go
@@ -91,6 +91,7 @@
 
 type DeviceFlowList struct {
 	ListOutputOptions
+	FlowIdOptions
 	Args struct {
 		Id DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
 	} `positional-args:"yes"`
@@ -698,6 +699,7 @@
 func (options *DeviceFlowList) Execute(args []string) error {
 	fl := &FlowList{}
 	fl.ListOutputOptions = options.ListOutputOptions
+	fl.FlowIdOptions = options.FlowIdOptions
 	fl.Args.Id = string(options.Args.Id)
 	fl.Method = "device-flows"
 	return fl.Execute(args)
diff --git a/internal/pkg/commands/flows.go b/internal/pkg/commands/flows.go
index efe09f2..1e8ec62 100644
--- a/internal/pkg/commands/flows.go
+++ b/internal/pkg/commands/flows.go
@@ -28,6 +28,7 @@
 
 type FlowList struct {
 	ListOutputOptions
+	FlowIdOptions
 	Args struct {
 		Id string `positional-arg-name:"DEVICE_ID" required:"yes"`
 	} `positional-args:"yes"`
@@ -143,7 +144,7 @@
 	data := make([]model.Flow, len(flows.Items))
 	var fieldset model.FlowFieldFlag
 	for i, item := range flows.Items {
-		data[i].PopulateFromProto(item)
+		data[i].PopulateFromProto(item, options.HexId)
 		fieldset |= data[i].Populated()
 	}
 
diff --git a/internal/pkg/commands/logicaldevices.go b/internal/pkg/commands/logicaldevices.go
index 3a5dd66..bef1de3 100644
--- a/internal/pkg/commands/logicaldevices.go
+++ b/internal/pkg/commands/logicaldevices.go
@@ -43,6 +43,7 @@
 
 type LogicalDeviceFlowList struct {
 	ListOutputOptions
+	FlowIdOptions
 	Args struct {
 		Id LogicalDeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
 	} `positional-args:"yes"`
@@ -212,6 +213,7 @@
 func (options *LogicalDeviceFlowList) Execute(args []string) error {
 	fl := &FlowList{}
 	fl.ListOutputOptions = options.ListOutputOptions
+	fl.FlowIdOptions = options.FlowIdOptions
 	fl.Args.Id = string(options.Args.Id)
 	fl.Method = "logical-device-flows"
 	return fl.Execute(args)
diff --git a/pkg/model/flow.go b/pkg/model/flow.go
index 1a5f88b..928339c 100644
--- a/pkg/model/flow.go
+++ b/pkg/model/flow.go
@@ -294,10 +294,15 @@
 	return fmt.Sprintf("%d", val)
 }
 
-func (f *Flow) PopulateFromProto(flow *openflow_13.OfpFlowStats) {
+func (f *Flow) PopulateFromProto(flow *openflow_13.OfpFlowStats, hexId bool) {
 
 	f.Reset()
-	f.Id = fmt.Sprintf("%016x", flow.Id)
+	if hexId {
+		f.Id = fmt.Sprintf("%016x", flow.Id)
+	} else {
+		f.Id = fmt.Sprintf("%v", flow.Id)
+	}
+
 	f.TableId = flow.TableId
 	f.Priority = flow.Priority
 	// mask the lower 8 for the cookie, why?
