diff --git a/backend/routes/route/patch.js b/backend/routes/route/patch.js
index 38bd4ca..47eeecb 100644
--- a/backend/routes/route/patch.js
+++ b/backend/routes/route/patch.js
@@ -9,7 +9,7 @@ module.exports = async (req, res) => {
 
   if (!owner) return res.send({ success: false, reason: 'unauthorized' });
 
-  const title = parseString(body.title, 32);
+  const title = parseString(body.title, 64);
   const is_public = !!body.is_public;
 
   const exists = await Route.findOne({ _id: address, is_deleted: false }).populate('owner', '_id');
diff --git a/backend/routes/route/post.js b/backend/routes/route/post.js
index 7e3ca9c..915989a 100644
--- a/backend/routes/route/post.js
+++ b/backend/routes/route/post.js
@@ -8,7 +8,7 @@ module.exports = async (req, res) => {
   const owner = await User.findOne({ _id: id, token }).populate('routes');
   if (!owner) return res.send({ success: false, reason: 'unauthorized', id, token });
 
-  const title = parseString(body.title, 32);
+  const title = parseString(body.title, 64);
   const address = parseString(body.address, 32);
   const route = parseRoute(body.route);
   const stickers = parseStickers(body.stickers);
diff --git a/src/components/dialogs/SaveDialog.tsx b/src/components/dialogs/SaveDialog.tsx
index 59c6f08..ff81319 100644
--- a/src/components/dialogs/SaveDialog.tsx
+++ b/src/components/dialogs/SaveDialog.tsx
@@ -42,12 +42,12 @@ export class SaveDialog extends React.Component<Props, State> {
     const { path } = getUrlData();
     const { title, address } = this.state;
 
-    return toTranslit(address.trim()) || toTranslit(title.trim().toLowerCase()) || toTranslit(path.trim()).substr(0, 32);
+    return toTranslit(address.trim()) || toTranslit(title.trim().toLowerCase()).substr(0, 32) || toTranslit(path.trim()).substr(0, 32);
   };
 
-  setTitle = ({ target: { value } }) => this.setState({ title: (value || '') });
+  setTitle = ({ target: { value } }) => this.setState({ title: ((value && value.substr(0, 64)) || '') });
 
-  setAddress = ({ target: { value } }) => this.setState({ address: (value || '') });
+  setAddress = ({ target: { value } }) => this.setState({ address: (value && value.substr(0, 32) || '') });
 
   cancelSaving = () => this.props.setMode(MODES.NONE);
 
diff --git a/src/styles/dialogs.less b/src/styles/dialogs.less
index 6fbbd17..4bc4f51 100644
--- a/src/styles/dialogs.less
+++ b/src/styles/dialogs.less
@@ -379,8 +379,10 @@
 
   text-overflow: ellipsis;
   overflow: hidden;
-  white-space: nowrap;
+  //white-space: nowrap;
   position: relative;
+  max-height: 2.4em;
+  word-break: break-word;
 }
 
 .route-description {