# Can I add leading zeros to a field?

**URL:** <https://discuss.elastic.co/t/can-i-add-leading-zeros-to-a-field/122081>\
**Category:** Logstash\
**Created:** [March 1, 2018, 1:51pm UTC](https://discuss.elastic.co/t/can-i-add-leading-zeros-to-a-field/122081 "2018-03-01T13:51:58Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![david\_reynolds](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/david_reynolds/32/28306_2.png) [@david\_reynolds](https://discuss.elastic.co/u/david_reynolds)\
**Post date:** [March 1, 2018, 1:51pm UTC](https://discuss.elastic.co/t/can-i-add-leading-zeros-to-a-field/122081/1 "2018-03-01T13:51:58Z")

</div>

Question about Logstash (Elastic Stack). Can someone give me a pointer on how to add a new field (add\_field) that will format a number with leading zeroes?  
e.g. given somefield == 123 then someotherfield == "00123".

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [March 1, 2018, 8:04pm UTC](https://discuss.elastic.co/t/can-i-add-leading-zeros-to-a-field/122081/2 "2018-03-01T20:04:59Z")

</div>

Do you always want to leading zeroes or do you always want the string to be five characters long? (Either way the answer would be to use a mutate filter's gsub option, but an exact answer depends on the details.)

---

<div class="post-metadata">

**Author:** ![david\_reynolds](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/david_reynolds/32/28306_2.png) [@david\_reynolds](https://discuss.elastic.co/u/david_reynolds)\
**Post date:** [March 1, 2018, 9:25pm UTC](https://discuss.elastic.co/t/can-i-add-leading-zeros-to-a-field/122081/3 "2018-03-01T21:25:52Z")

</div>

Yes.and yes. Always leading zeroes always five chars long.

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [March 2, 2018, 7:01am UTC](https://discuss.elastic.co/t/can-i-add-leading-zeros-to-a-field/122081/4 "2018-03-02T07:01:55Z")

</div>

Unless the field already is a string use a mutate filter's convert option to coerce it into a string. Then do this:

```nohighlight
if [somefield] =~ /^\d{3}$/ {
  mutate {
    replace => {
      "somefield" => "00%{somefield}"
    }
  }
}

```

This one takes care of strings of length three that need to zeroes prepended. Repeat to support strings of different lengths.

You could also use a ruby filter. Such a configuration would be more compact and possibly faster.

---

<div class="post-metadata">

**Author:** ![david\_reynolds](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/david_reynolds/32/28306_2.png) [@david\_reynolds](https://discuss.elastic.co/u/david_reynolds)\
**Post date:** [March 2, 2018, 9:06am UTC](https://discuss.elastic.co/t/can-i-add-leading-zeros-to-a-field/122081/5 "2018-03-02T09:06:01Z")

</div>

Thank you Magnus

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [March 30, 2018, 9:06am UTC](https://discuss.elastic.co/t/can-i-add-leading-zeros-to-a-field/122081/6 "2018-03-30T09:06:10Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
