diff --git a/app/directives/tc-form-fonts/tc-form-fonts.jade b/app/directives/tc-form-fonts/tc-form-fonts.jade
index efaeeb08f..9000518e9 100644
--- a/app/directives/tc-form-fonts/tc-form-fonts.jade
+++ b/app/directives/tc-form-fonts/tc-form-fonts.jade
@@ -19,7 +19,8 @@
     input-value="font.name",
     input-name="fontName{{fontId}}",
     input-required="formFonts[fontId].isFontNameRequired",
-    input-disabled="formFonts[fontId].isFontNameDisabled"
+    input-disabled="formFonts[fontId].isFontNameDisabled",
+    maxlength="50"
   )
 
   .tc-error-messages(
@@ -36,7 +37,8 @@
     input-name="fontUrl{{fontId}}",
     input-required="formFonts[fontId].isFontUrlRequired",
     input-disabled="formFonts[fontId].isFontUrlDisabled",
-    input-pattern="urlRegEx"
+    input-pattern="urlRegEx",
+    maxlength="100"
   )
 
   .tc-error-messages(
diff --git a/app/directives/tc-form-stockart/tc-form-stockart.jade b/app/directives/tc-form-stockart/tc-form-stockart.jade
index 403901ce0..1867c935e 100644
--- a/app/directives/tc-form-stockart/tc-form-stockart.jade
+++ b/app/directives/tc-form-stockart/tc-form-stockart.jade
@@ -5,7 +5,8 @@
     label-text="Photo Description",
     placeholder="A picture of a girl",
     input-value="stockart.description",
-    input-name="photoDescription{{stockartId}}"
+    input-name="photoDescription{{stockartId}}",
+    maxlength="100"
   )
 
   tc-input.fieldset__input(
@@ -13,7 +14,8 @@
     placeholder="www.istockphoto.com",
     input-value="stockart.sourceUrl",
     input-name="photoURL{{stockartId}}",
-    input-pattern="urlRegEx"
+    input-pattern="urlRegEx",
+    maxlength="100"
   )
 
   .tc-error-messages(ng-show="submissionForm['photoURL' + stockartId].$dirty && submissionForm['photoURL' + stockartId].$invalid")
@@ -23,7 +25,8 @@
     label-text="File Number",
     placeholder="u2434312",
     input-value="stockart.fileNumber",
-    input-name="fileNumber{{stockartId}}"
+    input-name="fileNumber{{stockartId}}",
+    maxlength="50"
   )
 
 button.fieldset__button.tc-btn.tc-btn-s(type="button", ng-click="createAdditionalStockartFieldset()", ng-disabled="isButtonDisabled()") + Add Stock Photo
diff --git a/app/directives/tc-input/tc-input.directive.js b/app/directives/tc-input/tc-input.directive.js
index 31931cdfc..2eca0cdf2 100644
--- a/app/directives/tc-input/tc-input.directive.js
+++ b/app/directives/tc-input/tc-input.directive.js
@@ -16,6 +16,7 @@
         inputPattern: '=',
         inputRequired: '=',
         inputDisabled: '=',
+        maxlength: '@',
         updateValueOnBlur: '&?'
       },
       link: function(scope, element, attrs) {
diff --git a/app/directives/tc-input/tc-input.jade b/app/directives/tc-input/tc-input.jade
index d1d4c33cc..5b9e0ec42 100644
--- a/app/directives/tc-input/tc-input.jade
+++ b/app/directives/tc-input/tc-input.jade
@@ -7,5 +7,6 @@ input(
   ng-model="inputValue",
   ng-pattern="inputPattern",
   ng-required="inputRequired",
-  ng-disabled="inputDisabled"
+  ng-disabled="inputDisabled",
+  maxlength="{{maxlength}}"
 )