🔒

Limited-time Free Trial

Please log in to use (free daily quota after login)

Log in now →

Tool Workspace

Enter content, process with one click

1Introduction

Return on Investment (ROI) is a key metric for measuring investment performance. The formula is: (Return - Cost) / Cost × 100%. This tool helps you get results quickly. Simply enter the total cost and total return (or net profit) to get the ROI percentage and net profit amount. It supports both positive and negative returns, suitable for various investment scenarios. The results are displayed clearly to help you visually evaluate investment performance. All calculations are done locally, and data is not uploaded, ensuring privacy.

2How to Use

1

Enter Cost

Enter the total investment amount in the 'Investment Cost' field.

2

Enter Return

Enter the total return from the investment in the 'Total Return' field.

3

Click Calculate

Click the 'Calculate ROI' button to instantly see the ROI percentage and net profit.

3FAQ

What does a negative ROI mean?

A negative ROI indicates an investment loss, meaning the return is less than the cost. For example, an ROI of -20% means a loss of 20% of the principal.

How is net profit calculated?

Net profit = Total return - Investment cost. If the result is negative, it represents a loss.

unlock all exclusive tools and advanced features.","pro_code_used":"This code has already been used","pro_code_invalid":"Invalid redemption code","pro_code_expired":"This code has expired","pro_btn_use":"Browse Tools","pro_btn_open":"Upgrade Now","pro_btn_login":"Log in now","pro_btn_activate":"Activate","pro_activate_title":"Activate with Redemption Code","pro_activate_ok":"Activation successful","pro_activate_hint2":"Redeem codes are issued by us. Log in to redeem; membership will be bound to your account.","pro_activate_hint":"Redemption codes are issued by us. Please contact us to obtain one.","powered_by_suffix":"","powered_by_prefix":"Powered by ","powered_by_brand":"52muban.com","nav_unit":"Unit Converters","nav_time":"Date & Time","nav_text":"Text Processing","nav_register":"Register","nav_rank":"Ranking","nav_mytools":"My Tools","nav_more_cats":"More","nav_more":"View All","nav_math":"Math Tools","nav_logout":"Logout","nav_login":"Login","nav_hash":"Hashing","nav_encode":"Encoding Conversion","nav_dev":"Developer Tools","nav_collections_all":"All Collections","nav_collections":"Collections","nav_calc":"Calculators","nav_all":"All Tools","nav_ai_tools":"AI Tools","nav_ai":"AI Tools","nav_account":"Account","mytools_unfav":"Removed from favorites","mytools_title":"My Tools","mytools_hist_section":"Recently Used","mytools_fav_section":"My Favorites","mytools_faved":"Favorited","mytools_fav":"Favorite","mytools_empty_hist":"No usage history yet","mytools_empty_fav":"No favorites yet. Click ☆ on any tool page to add one.","mytools_desc":"View your favorited and recently used online tools. Data is stored only in your local browser.","member_off_title":"Not Available","member_off_desc":"Membership service is not available yet. All tools are free to use.","member_off_back":"Back to Home","MD5 计算完成 ·":"MD5 computed ·","MD5 已复制":"MD5 copied","m 多行":"m multiline","list_count":"Tools","list_cats":"Categories","JSON 解析失败:":"JSON parse failed: ","intro_title":"Introduction","i 忽略大小写":"i ignore case","HTML → 纯文本":"HTML → Text","how_to_use":"How to Use","howto_title":"How to Use","home_title":"Online Toolbox","home_switch_theme":"Toggle theme","home_switch_lang":"Switch language","home_stat_used":"total uses","home_stat_tools":"online tools","home_stat_local":"local processing","home_stat_cats":"categories","home_section_tools":"tools","home_section_hot":"Hot Tools","home_section_all":"All Tools","home_search_ph":"Search tools, e.g. JSON, timestamp, encryption…","home_search_btn":"Search","home_no_result_msg":"No matching tools","home_no_result":"No matching tools found","home_keywords":"online tools,toolbox,free tools","home_hero_title":"One-Stop Online Toolbox","home_hero_desc":"A collection of practical online tools. No installation, no login — open and use, all data stays local.","home_desc":"A free toolbox collecting all online tools. Open and use instantly in your browser; all data is processed locally.","home_cat_unit":"Convert units of measurement quickly and accurately.","home_cat_time":"Time tools for timestamps, dates and timezones.","home_cat_text":"Text tools for sorting, counting and converting.","home_cat_more":"View All","home_cat_math":"Math tools for numbers, fractions and equations.","home_cat_hash":"Hash and encryption tools running locally in your browser.","home_cat_encode":"Encode, decode and convert between formats.","home_cat_dev":"Developer tools for coding, hashing and debugging.","home_cat_calc":"Everyday calculators for finance and life.","home_badge_float":"Free · Instant Use · Local Processing","home_badge":"All Tools · Free · Instant Use","home_back_all":"Back to all tools","hero_m4_val":"Free","hero_m4":"No Login Required","hero_m3":"Local Processing","hero_m2":"Usage Count","hero_m1":"User Rating","gongan_alt":"Public Security Filing","gi 全局忽略大小写":"gi global ignore case","g 全局":"g global","free":"Free","footer_terms":"Terms of Use","footer_privacy":"Privacy Policy","footer_links":"Links","footer_hot":"Popular Tools","footer_desc":"Focused on providing a clean, fast, and secure collection of online tools. Standard tools run locally in your browser; AI tools are called via encrypted channels and never retain your original content.","footer_copyright":"Data processed locally · 200+ tools","footer_contact":"Business Cooperation","footer_cat":"Tool Categories","footer_about_us":"About Us","footer_about":"About","flink_3":"Sports Events Site Group","flink_2_title":"Test Friendly Link","flink_2":"52muban Templates","flink_1_title":"Online JSON Tool Collection","faq_question":"FAQ","faq":"FAQ","donate_wechat_scan":"Scan WeChat QR code","donate_wechat":"WeChat Donate","donate_title_side":"Support Us","donate_title":"If this tool helps you, feel free to buy us a coffee.","donate_tip":"Press and hold to scan the QR code · Thank you for your support","donate_close":"Close","donate_btn":"Support","donate_alipay_scan":"Scan Alipay QR code","donate_alipay":"Alipay Donate","CRC32 已复制":"CRC32 copied","compare_title":"Tool Comparison","compare_desc":"Feature comparison, rating, usage and quick links.","common_tools":"All Tools","collections_tool_count":"tools","collections_seo_desc":"Browse all tool collections aggregated by scenario to quickly find the tools you need.","collections_empty":"No collections yet. Please check back later.","cmp_visit":"Visit","cmp_used":"Usage","cmp_type":"Type","cmp_rating":"Rating","cmp_open":"Open Tool","cmp_item":"Item","cmp_intro":"Overview","cmp_free":"Free","cmp_cat":"Category","btn_validate":"Validate","btn_format":"Format","btn_copy":"Copy result","btn_compress":"Compress","brand_sub":"Online toolbox · 200+ tools","Base64 数据":"Base64 Data","backtop_title":"Back to top","ASCII 码表(0-127)":"ASCII Table (0-127)","ad_rect_title":"Ad Space 300×250","ad_rect_desc":"Above the fold in the sidebar","ad_rect2_title":"Ad Space 300×600","ad_rect2_desc":"Large size, high revenue position","ad_banner_title":"Ad Space 728×90","ad_banner_desc":"Google AdSense \/ Self-managed ads · Unified backend management across the site","account_vip_unlimited":"Unlimited PRO access, not limited by daily free quota.","account_vip_status":"Membership status","account_vip_expire_short":"Expiry","account_vip_expire":"Valid until","account_vip_active":"Member","account_uid":"User ID","account_title":"Account","account_tip_quota":"PRO tools are free daily; come back tomorrow or upgrade for unlimited use.","account_times":"times","account_regtime":"Registered","account_quick":"Quick links","account_perk_vip_title":"Unlimited Access","account_perk_vip_desc":"Monthly, yearly or lifetime plans","account_perk_save_title":"Favorites & History","account_perk_save_desc":"One-click favorites and recent history","account_perk_free_title":"Free Daily","account_perk_free_desc":"Try PRO tools for free every day","account_open_vip":"Activate PRO","account_not_vip":"You are a regular member. PRO tools are free daily.","account_not_login_desc":"Log in to check your membership, free quota and tools. PRO tools are free daily.","account_not_login":"Sign in to unlock all tools & membership perks","account_joined_days":"Joined","account_free_user":"Free User","account_free_left":"Free quota left today","account_forever":"Forever","account_entry_pro":"Unlock all exclusive tools & plans","account_entry_mytools":"Favorited & recently used tools","account_entry_cp":"Edit profile, password & security","account_entry_buy":"Buy monthly, yearly or lifetime plans","account_empire_cp":"Member Center","account_desc":"Manage your membership, free quota and tools.","account_days":"days","account_buygroup":"Buy membership","8 面":"d8","6 面":"d6","4 面":"d4","36 进制":"Base 36","20 面":"d20","128 个 ASCII 字符":"128 ASCII characters","12 面":"d12","100 面":"d100","10 面":"d10"}; document.addEventListener('DOMContentLoaded', function () { var m = window.TS_I18N || {}; document.querySelectorAll('[data-i18n]').forEach(function (el) { var k = el.getAttribute('data-i18n'); if (k && m[k]) { el.innerHTML = m[k]; } }); document.querySelectorAll('[data-i18n-placeholder]').forEach(function (el) { var k = el.getAttribute('data-i18n-placeholder'); if (k && m[k]) { el.setAttribute('placeholder', m[k]); } }); document.querySelectorAll('[data-i18n-copymsg]').forEach(function (el) { var k = el.getAttribute('data-i18n-copymsg'); if (k && m[k]) { el.setAttribute('data-copy-msg', m[k]); } }); document.querySelectorAll('[data-i18n-title]').forEach(function (el) { var k = el.getAttribute('data-i18n-title'); if (k && m[k]) { el.setAttribute('title', m[k]); } }); }); /* 工具工作区自动补齐: 1) 工作区无 [data-tool-stat] 元素时,把 .tw-msg / [data-tool-msg] 补上该属性(工具内联代码常引用它显示状态); 2) 无主按钮工具:自动补齐「处理」主按钮(点击执行 tsRun / data-tool-run / 触发输入事件) */ (function () { var tw = document.querySelector('.tw'); if (!tw) { return; } /* 兼容:先补 [data-tool-stat],再判断主按钮,避免已有主按钮但缺 stat 的工具报错 */ if (!tw.querySelector('[data-tool-stat]')) { var msgEl = tw.querySelector('[data-tool-msg], .tw-msg'); if (msgEl) { msgEl.setAttribute('data-tool-stat', ''); } } if (document.querySelector('.tw-btn-main')) { return; } var btn = document.createElement('button'); btn.type = 'button'; btn.className = 'tw-btn tw-btn-main'; var defTxt = "Process"; btn.textContent = window.tsTool && window.tsTool.t ? window.tsTool.t(defTxt, defTxt) : defTxt; btn.addEventListener('click', function () { if (typeof window.tsRun === 'function') { try { window.tsRun(); } catch (e) {} return; } var runEl = tw.querySelector('[data-tool-run]'); var fn = runEl ? runEl.getAttribute('data-tool-run') : ''; if (fn && typeof window[fn] === 'function') { try { window[fn](); } catch (e) {} return; } var inp = tw.querySelector('.tw-grid-input, #toolInput, .tw-input'); if (inp) { inp.dispatchEvent(new Event('input', { bubbles: true })); } }); var row = document.createElement('div'); row.className = 'tw-run-row'; row.appendChild(btn); tw.insertBefore(row, tw.firstChild); })(); /* PRO 软锁定遮罩:关闭后当天不再弹出(按工具 + 日期记录于 localStorage) */ window.tsProLockClose = function (btn) { var wrap = btn ? btn.closest('.pro-lock-wrap') : document.querySelector('.pro-lock-wrap'); if (!wrap) { return; } var overlay = wrap.querySelector('.pro-lock-overlay'); if (overlay) { overlay.style.display = 'none'; } var slug = wrap.getAttribute('data-slug') || (location.pathname || '').replace(/[\\/]/g, '').replace(/\.html$/i, '') || 'tool'; try { var now = new Date(); var day = now.getFullYear() + '-' + String(now.getMonth() + 1).padStart(2, '0') + '-' + String(now.getDate()).padStart(2, '0'); localStorage.setItem('ts_prolock_close_' + slug, day); } catch (e) {} }; document.addEventListener('DOMContentLoaded', function () { var wrap = document.querySelector('.pro-lock-wrap'); if (!wrap) { return; } var slug = wrap.getAttribute('data-slug') || (location.pathname || '').replace(/[\\/]/g, '').replace(/\.html$/i, '') || 'tool'; var saved = null; try { saved = localStorage.getItem('ts_prolock_close_' + slug); } catch (e) {} if (!saved) { return; } var now = new Date(); var day = now.getFullYear() + '-' + String(now.getMonth() + 1).padStart(2, '0') + '-' + String(now.getDate()).padStart(2, '0'); if (saved === day) { var overlay = wrap.querySelector('.pro-lock-overlay'); if (overlay) { overlay.style.display = 'none'; } } });